質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

3回答

31027閲覧

JupyterNotebookでGPUを使用し計算させる方法

退会済みユーザー

退会済みユーザー

総合スコア0

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2019/01/19 13:50

編集2019/01/19 13:55

Jupyterでの学習が遅すぎて本の内容が進まん!

めっちゃ初心者ですけど、最近ちょっと興味があって噂のディープラーニングを知っとこうと勉強中です。とりあえずアナコンダとJupyterNotebookを入れて「ゼロから作るディープラーニング」(オーム社)をコード入れながら読み進めてます。
しかしやっぱり計算量が多いので、学習にすっごく時間がかかるんです。今ニューラルネットワークを用いた確率的勾配降下法により、MNISTデータセットの手書き文字を学習させています。10000回ミニバッチ学習をさせるんですが、1回の学習に21秒ほどかかるので、単純計算で10000回終えるのに60時間ほどかかりそうなんです。え、そんなにパソコン動かしっぱなしにするの?でもせっかくだし学習させたいな…

そういやパソコンの中にNVIDIAのGPUが入っているぞ?

人工知能の記事をたまに見ると、NVIDIAのGPUという文言は結構な頻度で出てくる気がします。それだけこういう計算に使われるということですよね。タスクマネージャを見てもCPUはよく働いているのですがGPUは無言。どうもGPUを使ってという設定をJupyterNotebookでしなくては使ってくれないようです?じゃあ設定しよう!

TensorFlow?仮想環境?Docker?Cuda?わからん…

進出単語が多すぎ…
まず、記事を転々としているうちに、どうもGPUを使うためにはGPU用のライブラリ、TensorFlowというものが必要らしいことはわかりました(え、こういう認識で大丈夫ですか…?)。
検索すると「windows10ユーザーがJupyterNotebookでtensorflow-gpuを動かそうとした話」という良い感じの記事があったんですが…仮想環境?なんじゃそりゃ!?
仮想環境関係を調べると、Docker?とかCuda?とか、いろいろいろいろ…頭がパンクして、先人たちの知識に頼ろうとここに来ました。

TensorFlow?仮想環境?Docker?Cuda?わからん…

結局、何が「必要な知識」かわかりません。どなたか、

「JupyterNotebook」でGPUを用いて計算させる

これに必要な要素を教えてください。よろしくお願いします。

環境

すみません。必要となる情報がわからないので、お手数ですが調べ方記載の上、この情報をよこせとおっしゃってください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

解決済みですが、参考情報の提供です。

GG_4544さんが学習用に参考にしている「ゼロから作るディープラーニング」はゼロから作るというだけあって、tensorflowなどのディープラーニング用フレームワークは必要ありません。当該書籍のコードはnumpyベースなのでこれをGPU上で動くようにするにはnumpyと互換性があるGPUモジュールのcupyを使ったほうがいいかと思います。

import numpy as np

となっている部分を

import cupy as np

と書き換えれば大抵のコードはそのまま動きます。

tensorflow(正確にはtensorflowはCPU上で稼動するディープラーニング用フレームワークでGPUで稼動させるにはtensorflow-GPUが必要です)を使った場合、当該書籍のコードはほぼ使えません。新たに書き起こすことになります。したがって、hayataka2049さんの提案する方法を丸ごと採用するのであれば、お手元の書籍は忘れて、別途書籍を購入する必要があります。

投稿2019/01/19 18:00

R.Shigemori

総合スコア3376

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

前提がわからなくて混乱していると思うので、まずは以下の検索キーワードでググってください。

  • gpgpu
  • cuda とは

あと仮想環境は(実用上は使いたくなるだろうけど)本質的には関係ないので一回忘れてください。


GPUを使うためにはGPU用のライブラリ、TensorFlowというものが必要らしいことはわかりました(え、こういう認識で大丈夫ですか…?)

だめです。以下の必要事項をすべて満たして初めて深層学習でGPUを使えます。

  1. GPGPU対応のGPUを持っている

intelのCPUの内蔵GPUとかは(こう書くと若干語弊があるけど)駄目。NVIDIA製で新し目ならほぼオッケー(ローエンドすぎると駄目とかあったっけ?) AMD製も一応できるが若干茨の道(それでも最近は力を入れていて使えるレベルに達しつつあるとされます)

  1. 必要なソフトをちゃんと入れる

NVIDIA+TensorFlow環境前提の場合、CUDA自体はドライバとCUDA Toolkitがあれば良いはず。次にcuDNNというソフトを入れる必要があります。それが済んだらTensorFlow入れれば大丈夫かな? 具体的なことは環境構築記事を読んでください
2. 使うライブラリに対応したコードを書く
GPUを使わない前提で書いたコードで動くはずもなし(CPUで深層学習フレームワークを動かすという書き方のコードなら少し設定を変えるだけでいけそうですが)


散々書いておいて申し訳ないんですが、Google Colaboratoryなら環境構築の手間なしで無料で使えるらしいので、そっちにしたらどうですか。

【秒速で無料GPUを使う】TensorFow(Keras)/PyTorch/Chainer環境構築 on Colaboratory - Qiita

投稿2019/01/19 15:46

編集2019/01/19 15:49
hayataka2049

総合スコア30933

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/01/19 15:51 編集

回答ありがとうございます。 やはり、一朝一夕に速度を上げたりできないのですね。また、GPUを使わない前提で書いたコードで動くはずもなし。いわれてみればその通りか…。 ちょっと初心者には厳しそうですので、教えていただいたサイトを一通り読んでから、Google Colaboratoryなるものを使わせていただきます。 ありがとうございました!!
guest

0

下記のサイトを参照にされてはいかがでしょうか?
私も現在GUIを勉強している最中なのですが、下記のフォルダを参照させていただいております。
https://qiita.com/nnahito/items/ad1428a30738b3d93762
ひとまず、GUIでボタンを配置させるなど基本的なところから書かれてますので、
参照してみて、そこから発展させてみてはいかがでしょうか?

投稿2019/01/19 15:19

shunsuke1937

総合スコア48

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/01/19 15:22

あはは、「GUI」ではなく、「GPU」です(笑) 面白い回答ありがとうございます。 GUIの勉強、頑張ってください。
shunsuke1937

2019/01/19 16:02

大変失礼しました。勘違いでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問