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

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



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


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

2018年4月9日月曜日

Tensorflow 1.7へバージョンアップ

Tensorflowは少し前に1.6へバージョンアップしていたにもかかわらず、pytorchを使っていたため1.5のままでした。しかし1.6のあとすぐに1.7へバージョンアップしており、eager executionが改良された模様。



TensorflowはさすがGoogleだけあって開発スピードがはやいのか、内容に追いついていくのが大変。
Tensorflowといえば、

tf.placeholder()
tf.Variable()
tf.Session()

でコーディングしていくイメージでしたが、より使いやすくするために

tflearn : easy to learn, high level API
slim : a lightweight library for defining, training and evaluating models
estimator : a high-level TensorFlow API that simplifies ML programming
keras : a higher API wrapper
eager : define by run
lite : mobile, RPi

などが次々と導入されたため、どれがいいのかわかりにくくなってきたという感じ。
kerasが使えるようになってからは、シンプルなコーディングが可能になったけれども、pytorchのようなdefine by runタイプが便利になってきたこともあって、Tensorflowもeagerを導入してdefine by runも普通に使えるようになった感じ。

なんでもありとなってきたTensorflowという感じで、やはり機械学習フレームワークとしてはTensorflowがなんだかんだいって便利なのかもしれません。
ということで、使い勝手が改良されたTensorflowも再度使おうと、1.5から一気に1.7へバージョンアップしてみました。

GPUを使用しているので、

pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.7.0-cp35-cp35m-linux_x86_64.whl

のpipコマンドでAnaconda仮想環境内にインストールしてあったtensorflow-gpu-1.5.0をアップグレード。
eager executionが便利そうなので、少し慣れておこうかと。

最近は、ベイズ推定などの確率的プログラミングに興味があって、

GPy
Pyro
Edward

などを勉強していまずがTensorflowにも、

Tensorflow Probability

というライブラリができたようで、Tensorflowだけであらゆることが可能となってきた感じ。



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などもやってみたいと思います。

関連:

人気の投稿