TensorFlow
★ TensorBoardについて
# Load the TensorBoard notebook extension
%load_ext tensorboard
%tensorboard --logdir logs/fit --host localhost
Reusing TensorBoard on port 6006
対応方法(Windowsの場合)
taskkill /IM tensorboard.exe /F
或いは
taskkill /F /PID 12345
del /q %TMP%\.tensorboard-info\*
※「初心者向け」は(1)、「エキスパート向け」は(4)
Sequential API:シンプルな一直線のモデルを構築可能、入力と出力が必ず1つずつのネットワーク構成
Functional API:複数の入出力を持つモデルやレイヤーを共有するモデルなども構築可能、入力も出力も複数可
Subclassing API:PyTorchに似た書き方で最も柔軟にモデルを構築可能、「Define by Run」形式、↓制限あり
・to_json()やto_yaml()が使えない
・save()ではHDF5形式での保存はできないが、SavedModel形式での保存は可能
・fit()/build()の後にsummary()を実行
シンボリック(宣言型):Sequential API、Functional API
命令型(モデル サブクラス化):Subclassing API
「Define-and-run」:ニューラルネットワークモデル構成を定義してからデータを投入するという方式 (つまりGraph Execution)
「Define-by-Run」:python の通常コードのように、データを投げながらニューラルネットワークモデルを定義するという方式 (つまりEager Execution)
Eager Execution:開発とデバッグをより対話的にする、 Tensorflow 2系にデフォルトとなり
Graph Execution:分散学習、パフォーマンスの最適化、プロダクション環境へのデプロイの観点で利点がある
2つの手法のギャップを埋めるために、 TensorFlow 2系はtf.functionという機能を導入