概要
メモ書き.環境はWindows10.2021年.
環境設定
GPU使うかどうかで変わる.安易にPythonの最新版を使わないこと.
公式のページを確認して対応バージョンを入れること
*コンパイラとビルドツールは自前でコンパイルする人のためだから基本必要ない.
*GPUの場合はグラフィックボードのドライバとしてcuDNNとCUDAが必要.NVIDEAに要登録.面倒くさい.
バージョン決まったらダウンロードとインストール.Googleに直接名前とバージョン入れるとページが出る.
おすすめはpython v3.8.10 tensorflow v2.3.0 cuDNN v7.6 CUDA v10.1
※追記:最新のGPUでは上記環境だと読み込みが遅くなったりしたので適度に変えてみたりしてください
tensorflowのダウンロード.コマンドプロンプトで
pip install tensorflow==2.3.0
tensorflow-gpuはtensorflowに統合されているらしいのでinstallはtensorflowだけでよいです.
CUDAとcuDNNはバージョンがたくさんあるため,間違いやすいcuDNN v7.6でもCUDA v10.2用やv10.1用があるので何回も確認すること.
pathの追加は必要.
GPUの認識の確認は簡単にできる.
プログラミング
環境が整ったらプログラミング.公式リファレンスを見よう.
APIリファレンス
実践チュートリアル
横のメニューを順番にやってみたり,気になるところを中心にやるとよいと思います.
EfficientNetV2の転移学習
2021年最も優秀らしいEfficientNetV2も最速で試す.
import tensorflow as tf
import tensorflow_hub as hub
# tensorflow hub からのコピペ,EfficientNetV2の転移学習
m = tf.keras.Sequential([
hub.KerasLayer("https://tfhub.dev/google/imagenet/efficientnet_v2_imagenet1k_s/feature_vector/2",
trainable=False), # Can be True, see below.
tf.keras.layers.Dense(num_classes, activation='softmax') #学習される全結合層
])
m.build([None, 384, 384, 3]) # Batch input shape.
socketなんとかのエラーはWindowsのファイヤウォールに通信を止められているため.
だいたい先人がやっている
モデルをダウンロード即実装,すごいね!
あとがき
現在はLinuxに取り組んでいます.OSSにも貢献していければいいな.