grbl1.1+Arduino CNCシールドV3.5+bCNCを使用中。
BluetoothモジュールおよびbCNCのPendant機能でスマホからもワイヤレス操作可能。
その他、電子工作・プログラミング、機械学習などもやっています。
MacとUbuntuを使用。

CNCマシン全般について:
国内レーザー加工機と中国製レーザー加工機の比較
中国製レーザーダイオードについて
CNCミリングマシンとCNCルーターマシンいろいろ
その他:
利用例や付加機能など:
CNCルーター関係:



*CNCマシンの制作記録は2016/04/10〜の投稿に書いてあります。


ラベル cuDNN の投稿を表示しています。 すべての投稿を表示
ラベル cuDNN の投稿を表示しています。 すべての投稿を表示

2018年5月22日火曜日

Ubuntu 18.04 LTSへアップグレード(不具合無事解決)

ようやく待望のUbuntu18.04LTSにアップグレードしました。



手持ちのパソコンは、MSiゲーミングノートパソコン(GeForce1060)であり、当初Ubuntu16.04LTSをインストールしたかったのですが、相性が悪いのかフリーズしまくりで、たまたま不具合の起こらない16.10をインストールしました(17.04、17.10も不具合発生)。
しかしながら、16.10はもうすでにサポートが切れており、必要なドライバやモジュールを自力で探してインストールしなければいけなくて大変でした。
そこで待望の18.04LTSが先月リリースされたので早速アップグレードしようと思いましたが、CUDAには正式に対応していないようだったので様子見していました。

現在CUDA9.2までリリースされていますが、Tensorflow1.8はまだCUDA9.0にしか対応しておらず、しかもCUDA9.0はUbuntu17.04までの対応なので、この組み合わせが難しいところ。ネットで検索してみると、Ubuntu18.04LTSにCUDA9.0をインストールしてTensorflow1.8も動く例を発見したので、今回ようやくアップグレードすることにしました。

またもやインストールで問題発生:
クリーンインストールしようと思いUSBメモリにイメージファイルをいれて起動させてみると、画面には現れるがクリックできないという現象が発生。
日本版、英語版の両方を試してみましたが、入力インターフェースのドライバの不具合なのかクリックが効きません。

試しにBIOSをアップグレード(特に効果なし):
クリックできない対策として、MSiゲーミングパソコンのBIOSをアップグレードする方法というのが見つかったので、試しにやってみることに。
・MSi BIOS更新方法
各型番に応じたサポートページに行くと、新しいBIOSが今月更新された模様。

USBメモリに解凍したダウンロードデータを入れ(他のデータが入っていても大丈夫)、BIOS画面内でデータを選択してアップデートするという手順。

再度Ubuntu18.04LTSインストールにチャレンジ:
BIOS更新後、USBメモリから起動してみましたが相変わらずクリックが効かない。そのままフリーズすることも。
USBメモリで起動する際に、

Try Ubuntu without Installing
Install Ubuntu
OEM install (for manufacture)
Check disk for detects

という選択肢がでてきて、通常は一番上の「インストールせずに起動」を選んでUbuntu内でGUIを使ってインストールするわけですが、2番目のいきなり「Ubuntuをインストールする」を選択してみました。
そうすると、インストール画面に移行しました。どうやらクリックできるようです(安心、しかしまだ何があるか分からない)。
今回は標準インストール(最小インストールという選択肢もある)で。ひと通り設定項目を入力して、再起動。
さてどうなるか?

相変わらず不具合:
しかし、不具合はまだ続く。ログイン画面でパスワード入れてリターンを押すとフリーズしてしまう。
一応、ある程度の入力、マウス操作ができるようになったので、さっきよりはまし。

リカバリーモードで起動:
さて次の方法は、起動の際に、
Ubuntu
Advanced options for Ubuntu
がありますが、通常は一番上で普通にUbuntuを起動するところ、二番目を選択して、リカバリーモードで起動させます。
リカバリーモードで起動すると解像度の低い画面が出てきます。そうすると、クリックできないとかフリーズするとか不具合は発生しないようなので、ターミナルを起動して
sudo apt-get update
sudo apt-get upgrade
でアップグレードしてみました。
そうすればいくつかバグ修正されて直るかもしれないので。

普通モードで起動(結果不具合解決):
恐る恐る普通モードで起動してみると、まずログイン成功。これはいけそうという予感。
無事、デスクトップが現れて、フリーズやクリックできないなどの不具合は解決されました。
他に不具合がないかいろいろ探ってみましたが、いまのところ大丈夫そうです(安心)。
これでなんとかロングタームサポートのUbuntuを利用できる状態になりました。

各種インストール:
CUDA関係:
CUDAは、Tensorflowの関係から9.0をインストール。Ubuntu 17.04用です。
以前はdebファイルからインストールしていましたがエラーがでるので、runファイルでインストールすると大丈夫でした。ちなみにドライバは390のままで、384はインストールしませんでした。インストール途中でサンプルもインストールするか聞かれますが、一応yesにしておいたほうがよさそうです。

CUDA 9.0
・cuDNN 7.1.2 for CUDA 9.0



Python関係:
・pyenv
・Anaconda
・Python3.6
・Tensorflow-gpu 1.8.0
・Pytorch 0.4.0

そのほか:
・Chrome
・Atom Editor
・dconf Editor
・gnome Tweaks


まとめ:
今回のインストールも不具合に遭遇しましたが、なんとか無事成功できてよかったです。一番の収穫はサポート切れのUbuntu 16.10からLTS(ロングタームサポート)に移行できたことでしょうか。これでしばらくは安心して使えそうです。
もしかしたら、以前もリカバリーモードでバグ修正していれば16.04LTSが使えたのかもしれません。
Linuxは不具合が多いので、毎回いろんな対処方法をしているうちに勉強になるという感じです。
おかげでBIOSも最新にアップデートできたということもあるので、このような不具合が起こらなければ、そんなこともしていなかったでしょう。


2017年11月26日日曜日

Pytorch(ソース版)でCUDA9.0 cuDNN7.0を試す

GitにあるPytorchのソースをコンパイルするとCUDA9.0cuDNN7.0で動かすことができるようなので試してみました。
普段はAnacondapytorch.orgから入手できるcuda80/cudnn6.0.21/cudatoolkit8.0を使っていますが(CUDA9.0+cuDNN7.0をインストールしているにもかかわらず)、最新CUDA9.0とcuDNN7.0の組み合わせではどのくらい速くなるのか気になります。CUDA9.0は新型GPUであるVoltaのために開発されたらしく、現在使っているPascal(GTX1060)だとあまり効果はでないかもしれません。2〜5倍速くなるとは書いてありますが、おそらく条件が揃わないことにはそこまで速くならないのではないでしょうか。

コンパイルしたGitソース版Pytorch(master)には、CUDAとcuDNNのバージョン確認ができるコマンドがあります。
「torch.version.cuda」でCUDAのバージョン「'9.0.176'」と出ています。このコマンドは現在のソース版からのようです。
「torch.backends.cudnn.version()」でcuDNNバージョン「7004」と出てきます。CUDA8.0の環境だと「6021」と出てきます。

いつもベンチマーク的につかっているサンプル:dcgan/cifar10を1iteration(782回)動かしてみると、

CUDA8.0+cuDNN6.0


CUDA9.0+cuDNN7.0

数回試してみましたが、わずかな差(77.91秒:77.59秒)でしかありませんでした。一応毎回CUDA9.0のほうが0.5秒前後速いのですが、誤差も含まれているかもしれないので、このサンプルでは当てにならない。やはりVoltaじゃないと効果発揮しないのでしょうか。
いずれにしても、圧倒的な差が出るという感じでもなさそうなので、Voltaにしない限りは無理して(コンパイルまでして)使う必要もなさそうです。


ソースからのコンパイル/インストール方法(memo):
現状:Ubuntu16.10/GTX1060/CUDA9.0/cuDNN7.0/gcc6.2/python3.6
Anacondaの仮想環境にpy359(名前は任意ですがpython3.5)をつくり、その中にインストールしてします。ちなみに、pyenvの仮想環境内にAnacondaの仮想環境をつくり、二重の仮想環境にしています。
ソースからのコンパイル方法はGitにも載っていますが、gccのバージョンでエラーがでたので、gccを別途仮想環境内py359にインストールしています(gcc6.2から5.4へダウングレード)。Ubuntu16.10の場合、gcc5.5が適していると画面に出ましたが、Anacondaから入手できるgcc5.4でなんとかコンパイルできました(多少Warningがでましたが)。
最初にインストールしたい仮想環境に入ってから以下の手順ですすめてみました(ディレクトリはhome直下で、gitに掲載されている方法を参考に)


export CMAKE_PREFIX_PATH="$(dirname $(which conda))/../"

conda install numpy pyyaml mkl setuptools cmake cffi

#conda install -c soumith magma-cuda90   #(これはなくても動きました)

conda install -c salford_systems gcc-5       # gcc-5.4を仮想環境内へインストール


git clone --recursive https://github.com/pytorch/pytorch

cd ~/pytorch                             # homeにgit cloneしたpytorchフォルダ内へ移動


#念のためgccとg++(先程インストールしたgcc5.4)のパスを通しておきます

export CC=/home/mirrornerror/.pyenv/versions/anaconda3-5.0.1/envs/py359/bin/gcc

export CXX=/home/mirrornerror/.pyenv/versions/anaconda3-5.0.1/envs/py359/bin/g++


python setup.py install   #git cloneしたpytorchフォルダ内でインストール実行



#もしコンパイルが失敗したらクリーンしてから再挑戦

python setup.py clean

conda clean --all


コンパイルには5〜10分くらいかかるかもしれません。
インストール完了後、
conda list
で確認すると、
torch 0.4.0a0+ed64001
というモジュールとして入っています。

それからtorchvision(0.1.9)モジュールも別途必要となりますが、Anacondaからそのままインストールするとpytorch(通常版)も依存的にインストールされてしまうので(コンフリクト起こすかもしれない)、
conda install torchvision --no-deps    #依存関係無視で単体インストール
または、
pip install torchvision
すれば単体でインストールできると思います。
TensorflowもソースをコンパイルすればCUDA9.0に対応するようですが、面倒なのでやめてしまいました。まだしばらくはCUDA8.0でも間に合いそうです。

2017年11月17日金曜日

GPU:GTX1060で再度DCGAN(CelebA)を試してみる

前回MacBook Pro(2014年製)でDCGANサンプルCelebAを動かすと29時間もかかりましたが、今回GPU:GTX1060で試してみたところ、たった36分で終わってしまいました。MacBook ProのCPUで計算するよりも約48倍高速という結果が得られました。予想以上に速くて驚きました(というかMacBook Proが遅すぎなのかも)。

MSI GS43VR 7RE Phantom Pro(14型ゲーミングノートPC)
プロセッサ:Intel Core i7-7700HQ
GPU: GeForce GTX1060(6GB)RAM: 16GB
Ubuntus 16.10
ndivia-384
CUDA9.0
cuDNN7.03
Python3.6
Anaconda仮想環境(python3.5/cuda80/cudnn6.0/tensorflow-gpu1.3)


約20万枚の画像(64x64px)を使って6330回動かしてみた結果です。これらの顔画像はDCGANによって生成されたものであり、実在の顔ではありません。結果は前回と代わり映えしないですが、GPUによる圧倒的な速さで、今後このような画像生成も時間をかけずにいろいろ試していけそうです。
前回問題だったのは、一度プログラムを動かしてしまうと数十時間他のことができなくなってしまうということでした。しかしながら、この手のプログラムであれば、1時間もかからず結果が出せるので、効率よく作業ができそうです。

こちらは、実行中にnvidia-smiでGPUの状況を出力したものです。GPU稼働率91%ということでしょうか?
また、nvidia-settingsと打てば、以下のような画面もでてきます。
ここではGPU稼働率98%になっています。

GPU出力はAuto/Adaptive/Prefer Maximum Performanceがあるようです。いつのまにかAdaptiveが選択されていました。試しにAutoに変えてみようかと。

実行中はGPUの温度が72度前後でした。普段は50度前後なので、そこそこ熱くなっているようです。そのためファンはほぼ全開で動いていました。

Anacondaを通してTensorflow-gpu1.3をインストールしていますが、GPU用にコードを書き直さなければいけないと思っていたら、GPUがあれば自動的に優先して計算してくれるようです。Tensorflowサイトの「Using GPU」に書いてありましたが、tf.device()で意図的に使うこともできるようです。Pytorchなら、torch.cudaもしくは.cuda()

Anaconda Navigator:
Anacondaのおかげで、Ubuntu16.10、CUDA9.0、cuDNN7.0をインストールしたにもかかわらずGPUが機能していると思っていますが、Anacondaをインストールするとライブラリの検索やインストールもすぐにできるAnaconda Navigatorも使えるようになります。Anaconda.cloud(要登録)につなぐとさらに便利になります。
anaconda-navigatorと打てば、このような画面が出てきて、わざわざターミナルでタイプしなくてもここでライブラリやパッケージをインストール/アンインストールできます。またjupyter notebookもボタン一つで立ち上がってくれるので便利です。いくつかアプリケーションも含まれており、spyderというエディターもかなり便利そうでした。Anaconda一つあればすべて済んでしまうという感じです。ただ問題としては、MacとWin用のAnacondaの場合はランチャーがあるのですが、Linux用だけないようです。しかたなく、ここを参考に自力でつくりました。
MacBookのほうではAnacondaを入れていないので(元々Pythonにもvirtualenvやpyenvなどの仮想環境はありましたが)、それぞれインストールなどはpipとhomebrewで行っていました。今回Anacondaを導入して、仮想環境の便利さが分かったので、Macのほうにも入れてみようと思います(またいろいろインストールし直さなければいけませんが)。
環境はだいたい整ったので、Kaggleなどもやってみたいと思います。

関連:

2017年11月16日木曜日

デュアルブートWindows10/Ubuntu16.10/NVIDIA-384/CUDA9.0/cuDNN7.0/Anaconda

前回の投稿にも書きましたが、現在使用しているMacBook Pro(2014年製)の後継機として、MSI GS43VR 7RE Phantom Proという14型のゲーミングノートパソコンを購入しました。GeForce GTX1060のGPU内蔵なので、Deep Learningの計算をさせればMacBook Proよりもずっと速いはずです。Windows10ですが、Deep Learningのプログラミング環境では、Linuxのほうが高速に処理してくれるらしいので、Linux(Ubuntu)とWindows10のデュアルブートにしました。
MSI GS43VR 7RE Phantom Pro ゲーミングノートパソコン:
プロセッサ:Intel Core i7-7700HQ
GPU: GeForce GTX1060(6GB)
RAM: 16GB
HD: 256GB(PCIEx Gen3) + 256GB(SSD/SATA:オプション変更)
画面:14インチ/1920x1080px
サイズ:345x245x22.8mm
重量: 1.8kg

Deep Learning用のパソコンにするには、以下のことが必要らしい。
・デュアルブート(万が一LinuxがダメならWindowsに戻るため)
Ubuntuのインストール(ほぼ定番)
NVIDIAドライバ(GPUドライバ)のインストール
CUDA(NVIDIA/GPU並列計算プラットフォーム)のインストール
cuDNN(NVIDIA/Deep Learning用ライブラリ)のインストール
Anaconda(Python統合環境/Python3.6含む)のインストール
Pytorch(Deep Learningライブラリ)のインストール
Tensorflow(Deep Learningライブラリ)のインストール
PyCharm(エディタ)のインストール

1日で終わればいいけど、そう簡単には終わらないはず。特にLinux(Ubuntu)で環境を整えるのは、バージョンの違いなどもあるためかなりハマりそう。ネットで調べてみてもトラブルが多い。
結果的には何とか動きましたが、何回もインストールし直し、思うようにいかず設定に数日かかってしまいました。

これはUbuntu16.10上の画面です。通常Ubuntu16.04が最適なバージョンですが、MSiのゲーミングノートPCとは相性が悪いのかフリーズしたりほとんど使えない状態でした。やむを得ず、Ubuntu16.10にしてみて悪戦苦闘の結果なんとか動いたという感じです。Ubuntuのバージョンによって、対応するドライバやライブラリなどが変わってしまうので、その組み合わせが難しい。
Ubuntuを何回もインストールし直していると、コンピューター好きには楽しいのですが(コンピュータの構造、シェルコマンド、viエディタの使い方などに詳しくなってしまう)、いつのまにか環境構築が目的(達成感や克服感)となってしまい、本来の目的であるLinuxで何をするかということから次第に遠ざかってしまい、時間ばかり消費してしまうのであまり深追いはしないほうがいいと思います。

理想的な組み合わせ:
・Ubuntu16.04
・NVIDIAドライバ nvidia-384(多分低すぎなければいい)
・CUDA 8.0(対応:Ubuntu16.04/14.04、Tensorflowなども対応)
・cuDNN 6.0/7.0

最終的な組み合わせ:(なぜか無事動いた)
・Ubuntu16.10/Windows10デュアルブート(gcc 6.2.0)
・NVIDIAドライバ nvidia-384
・CUDA 9.0(対応:Ubuntu17.04/16.04、未対応:Tensorflow/Pytorch)
・cuDNN 7.0.4 for CUDA 9.0
・Anaconda 4.3.30(cuda80/cudnn6.0.21/Tensorflow-gpu1.3.0)
・Pytorch (Linux/conda/Python3.5/CUDA8.0)

矛盾するけれどもAnacondaで解消?
NVIDIA製CUDA8.0だとUbuntu16.04のgccバージョン5(6未満)でなければならず、Ubuntu16.10にしてしまうとgcc6.2になってしまう。仮にgccを5へダウングレードしても、CUDA8.0をUbuntu16.10にインストールするとgcc6.2へアップグレードされてしまうので、やむを得ずCUDA9.0ならびにcuDNNもCUDA9.0用をインストール。とりあえず、CUDA9.0とcuDNN7.0のマニュアルにある動作確認では問題なし。
ちなみにTensorflowやPytorchはまだCUDA9.0には未対応。
Tensorflow1.5からCUDA9.0に対応するらしい。いちおうベータ版Tensorflow1.5はあるけれども、ソースをコンパイルしてインストールしなければならない。またベータ版PytorchであればCUDA9.0でも動くらしい
しかしながらAnacondaをインストールしてみると、仮想環境のおかげなのかCUDA8.0+cuDNN6.0対応のTensorflow-gpu1.3とPytorchのサンプルがきちんと動きました。もしかしたらUbuntu17.10(最新)でも動くかもしれないけれど、またインストールし直すのは大変なのでやめました。

Tensorflow-gpu/CNN/CIFAR10での実験:
ということで、CIFAR10のサンプルで試してみました。以下がGPU(GeForce GTX1060)で動かしてみた内容。右端の数値を見ると0.018〜0.019sec/batchとなっています。これはかなり高速。
ちなみに、MacBook Pro(GPUなし)のほうでも同じように動かしてみると、以下。
0.680sec/batch前後という結果。比較すると、GPUのほうが約36倍速いということになります。あまりに違うので、いままでMacBook Proを使っていたのが馬鹿馬鹿しく感じてしまいます。その他VAEのサンプルで試すと約6.5倍の速さでした。CNNのサンプルに関しては、cuDNNを使っているためか、かなり効果があるようです。特にエラーもでないし、このような歴然とした結果からおそらくGPUはきちんと機能しているはずです。

ネットで設定例がたくさん見つかるので、ここでは細かな内容は省きますが、手順を一通り書いておきます。

デュアルブート下準備:
・Windowsの「ディスクの管理」でパーティションを区切り約120GBをUbuntu用に確保
・USBメモリースティック(8GB)をFAT32フォーマット化
・Ubuntuをダウンロード
Rufusソフトをダウンロード
・Rufusを使ってUbuntuをUSBメモリースティックへLiveCDとして書き込む
・再起動しBIOS画面にする(起動中Deleteキー連打/違う機種だとF2キー連打)
・BIOS画面内でFast boot無効、USBメモリースティックを最優先に起動順序を変える
ハマりどころ:
Windows10のボリュームはすでに5個くらいに分割されており、Ubuntu用に充分な領域を確保できないけれども、後から変えることもできるはず。それほどこの段階では問題はない。

Ubuntu:
・USBメモリースティックからUbuntuが立ち上がったらWifiとつないでおく
・Ubuntuのインストール(使用言語、地域、ユーザ名、パスワードなどの設定)
・インストールされれば再起動
・また起動中にBIOS画面にしてPCにインストールしたUbuntuを最優先起動に設定する
・Ubuntuとして起動したら、Wifiなど基本事項を設定
ハマりどころ:
Ubuntu17.10が最新バージョンだけれども、CUDAには正式に対応していないためUbuntu16.04を選ぶのがいいとされる。しかし16.04(日本語版)をインストールしてみたところディスプレイ解像度変更不可、ネットがつながらないなどの問題発生。オリジナル版もフリーズしたり機能上の不具合が多くで断念。つぎに16.10を試してみると何とか動いた。さらに次の候補となる17.04もフリーズ、17.10はかろうじて動くがたまにフリーズする。16.10くらいしかまともに動かないため、やむを得ず16.10で以下の作業を進めることに。しかし気がかりなのは、CUDAが17.04か16.04にしか正式に対応していないという点。

NVIDIAドライバ:
NVIDIAサイトからドライバのダウンロード
・Nouveauの無効化
・Ubuntu上で仮想コンソールへ移動してドライバのインストール
・BIOS画面でセキュアブート無効にする
ドライバを入れた後(CUDA無し)、ターミナルでnvidia-smiを入力してこの画面が出ればOK(しかしなかなか出なかった)。

ハマりどころ:
ほとんどはUbuntuのターミナルからインストールするけれども、一旦GUI表示を無効にして仮想コンソールへ場所を移して、そこでドライバのインストールをするというややこしい手順。また、viでNouveau無効化ファイル作成するため、viの使い方も知らないといけない。セキュアブート無効を忘れるとログインループにハマったりGUI画面が表示されなくなったりします。後から気づいたけれども、セキュアブート無効にすればこのような面倒な手順は不要かもしれない。最初nvidia-375をインストールしていましたが、他のソフトを入れると最新のnvidia-384に引き上げられてしまうようです。結果的には問題なし。

CUDA:
NVIDIAサイトからインストーラのダウンロード
・CUDAのインストール
・パスの追加
ハマりどころ:
作業事態は単純だけれども、どのバージョンをインストールしたらいいのか迷う。最新はCUDA9.0だけれども、まだTensorflowやPytorchは対応していない。それではCUDA8.0にすればいいかというと、Ubuntu16.10のgccのバージョンと対応しなくなる。現状では他の環境やライブラリがまだCUDA8.0にしか対応していないため、CUDA9.0を使わないほうがいいみたい。CUDA8.0にとどまるなら、Ubuntuを17.04にアップグレードするという手もあるけれども、このMSI GS43VRは17.04でもフリーズしてしまう。かろうじてUbuntu17.10では動くのだけれども、一旦ここまでインストールしてしまうと17.10へ変えにくい。というわけで、使用するパソコン、ライブラリ、ドライバ、プラットフォームのそれぞれのバージョンがうまく噛み合わなくて選択が難しい。CUDAのバージョンに振り回される。
CUDAでつまづくようなら、NVIDIAサイトからダウンロードせずに、
sudo apt-get install nvidia-cuda-toolkit
でインストールしたほうがいいかもしれません。

cuDNN
・メール登録が必要
・CUDAのバージョンに合わせてNVIDIAサイトからダウンロード
・Ubuntuへインストール
ハマりどころ:
特に難しくはない。このライブラリを使うとかなり高速になるようです。tarファイル版は一気にダウンロードできるけれども、なぜかマニュアルにある動作確認用サンプルが含まれていない。3つあるdeb版なら3つ目がサンプルなのでいいかもしれない。

Anaconda
・pyenvを最初にインストール(こちらを参考にしました
・pyenvにパス通す
・Anacondaをインストール(Python3.6含む)
・tensorflow-gpu1.3をインストール(Anaconda内)
・pytorchをインストール(Anaconda内:pytorch/torchvision/cuda80)
・cudnnをインストール(Anaconda内)
*Anaconda経由(あるいはanaconda-navigator)で、tensorflow-gpu1.3、pytorch、cuda80、cudnn6.0をインストールできるのでかなり楽。Anaconda cloudに登録し、cloud上で必要なライブラリを探すのもいいと思います。場合によってはpython2.7もインストールして仮想環境をつくっておくといいらしい。
結果的には、まだ未対応のCUDA9.0とcuDNN7.0(CUDA9.0用)をNVIDIAからインストールしたにもかかわらず、Anacondaの仮想環境とpytorch/cuda80/cucnn6.0のおかげで無事動いたのかもしれない。

PyCharm(エディタ):
サイトから無料のcommunity版をダウンロード
・解凍したあと、pycharm-community-2017.2.4/binへ移動し、./pycharm.shで起動。
・Anacondaのパスとつなげておく(確かデフォルトでつながっていたような)
・エディタ内でターミナル使用、git pullも可能
・pytorchのdcganサンプルなどにあるコマンドラインオプション/引数なども登録可能
*例えば、
python main.py --batchSize 128 --cuda --ngpu 1
などのmain.pyのうしろにつける設定項目(こちらを参考に)。

まとめ:
・Linuxと使用するパソコンとの相性次第(ダメならWindowsで)
・BIOS画面でFast BootとSecure Bootを必ずオフにする
・Anacondaを使う
前半は先が見えずかなり苦戦し、UbuntuがだめならWindows10にインストールするしかないとも考えていました。海外国内問わずネット上にはなかなか動かない例もたくさんあり、予想以上に面倒でした。Linux固有のトラブルと、ハード、ソフトそれぞれの対応が微妙にずれており、しかも今後リリースされるライブラリも徐々にバージョンアップしていくので、またインストールし直す時がくるので面倒です。Ubuntuは年2回(4月と10月)にバージョンアップするらしく、次回18.04は2018年4月という意味でLTS(Long Term Support/5年間)になる予定。
しかしながら、一度設定できればGPUのパワーはすごい。MacBook Proもそこそこ速いのではないかと思っていましたが、そんなことはありませんでした。やはりGPU搭載のパソコンは圧倒的に作業時間が短縮されていいと思います。特にCNNなどの層が厚いアルゴリズムでは効果てきめんという感じです。

Linuxはトラブルが多いと思うのですが(ドラブルがあれば自分で直すという姿勢からか)、一旦動き出せば、機能も見た目もシンプルだし元々軽快なためか計算速度も速いらしいでの、できるだけWindowsを使いたくありませんでした。WindowsはしばらくTensorflowにも対応しておらず、Pytorchにおいては公式ではLinuxとMac版だけ(WIndows版はAnacondaからインストール可能)。MicrosoftがCNTKをリリースしたものの、Windowsはやや一歩遅れというのも気になります。

また、DockerやAWSなどのクラウドへUbuntu16.04をインストールし(必要に応じてその他のライブラリも)、GPUで計算させるという方法もあるようです。どうしても時間を短縮したいという場合は有料(数百円)にはなるけれどもいいかもしれません。コーディングは普通のノートパソコンでやって、計算のときはクラウド利用するというのが一番スマートな方法(ものを持ちすぎない)だと思います。

Tensorflow1.4でKerasが取り込まれ、さらにはEager(まだpre-alpha版)も登場し(tf.learnやtf-slimはどうなってしまったのか)、まだまだ変化がありすぎる状況です。現在はCUDA8.0とcuDNN6.0/7.0が主流だと思うのですが、数ヶ月以内ですぐにCUDA9.0に対応してしまうと思います。半年後にはUbuntu18.04LTSがリリースされ、そのころにはまた新たなライブラリや環境が登場していると思うのできりがないという感じです。

人気の投稿