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という機能を導入