【tf.keras】使用手冊

0. 簡介

記錄使用 tf.keras 時遇到的各類問題。api

tf.keras 是 keras 的將來,keras 做爲 TensorFlow 的高級 API,大大簡化 TensorFlow 代碼的編寫過程。函數

Keras(單獨的)、TensorFlow 1.x 和 TensorFlow 2.0 的 keras API 變化不大,手冊能夠通用。優化

tf.keras 快速入門:初學者的 TensorFlow 2.0 教程 | TensorFlow Coreui

1. 安裝

1.1 安裝 CUDA 和 cuDNN

【tf.keras】Linux 非 root 用戶安裝 CUDA 和 cuDNNgoogle

2. 數據集

2.1 使用 tensorflow_datasets 導入公共數據集

【tf.keras】tensorflow datasets,tfdslua

2.2 數據集過大致使內存溢出

【tf.keras】在 cifar 上訓練 AlexNet,數據集過大致使 OOMhtm

2.3 加載 cifar10 數據時報錯

【tf.keras】ssl.SSLError: [SSL: DECRYPTION_FAILED_OR_BAD_RECORD_MAC] decryption failed or bad record mac (_ssl.c:1977)blog

3. 評價指標

3.1 實現 F1 socre、precsion、recall

在整個數據集而不是單個 batch 上實現 F1 socre、precsion、recall 等評價指標:
【tf.keras】實現 F1 score、precision、recall 等 metric教程

4. 優化器

4.1 AdamW 優化器示例程序

【tf.keras】AdamW: Adam with Weight decay

4.2 tf.keras 1.x 在使用 learning rate decay 時不要使用 tf.train 內的優化器

【tf.keras】tf.keras使用tensorflow中定義的optimizer

5. 模型

5.1 模型復現

【tf.keras】tf.keras模型復現
(注意:在CPU上訓練才能徹底復現模型)

5.2 加載 AlexNet 預訓練模型

【tf.keras】tf.keras加載AlexNet預訓練模型

5.3 循環訓練模型致使 OOM

【tf.keras】Resource exhausted: OOM when allocating tensor with shape [9216,4096] and type float on /job:localhost/replica:0/task:0/device:GPU:0 by allocator GPU_0_bfc

6. TensorFlow API 變化

5.1 TF 1.x 到 TF 2.0 API 變化,隨機種子、動態分配顯存

【tf.keras】TensorFlow 1.x 到 2.0 的 API 變化

5.2 TF 2.1 API 變化

TensorFlow 2.1 將 fit_generator(), evaluate_generator(), predict_generator() 等函數分別合併到 fit(),evaluate(),predict() 裏。

相關文章
相關標籤/搜索