Kerasトレーニング支援ツール及び最適化ツール
4408 ワード
原文:http://blog.csdn.net/zzulp/article/details/76591341
1 Callbacks
Callbacksはトレーニング中にフィードバックされるための一連のクラスを提供し、トレーニング過程の観察と干渉を実現する.ライブラリによって提供されるクラスの他に、ユーザーもクラスをカスタマイズすることができます.ここでは、比較的有用なコールバッククラスを挙げます.
クラス名
作用
構造関数
Model Check point
epoch間で保存するためのモデル
Model Checkpoint(filepath、monitor=’valcuoss’、savemb est uonly=False、savemuweightsuonly=False、mode=’aut’、period=1)
EarlyStoping
early stopがアクティブになると(lossが発見された場合、前のepochトレーニングに比べて減少していない)、patienceのepochを経てトレーニングを停止します.
EarlyStoping(monitor=’valcuoss’,patience=0,mode=’aut’)
TensorBoard
tbを生成するために必要なログ
TensorBoard(loguder='.logs',histogramufreq=0,writeugraph=True,writegages=False,embeddingsufreq=0,embeddingsulayermunes=None,embeddingsumatea=
ReduceLROnPlate
指標が変化する時、学習率を減らす.
ReduceLnPlate(monitor=’valmooss’、factor=0.1、patience=10、mode=’aut’、epsilon=0.0001、coolown=0、minulr=0)
例: 1 , 4 5 , , 8 9, 10 1 , 4 5 , , 8 9, 10 PS:tenssorboardのレギュレータを追加すると、tenssorflowのtenssorboardコマンドラインを使って、可視化webサービスを開くことができます.
2 Application
このモジュールはイマジネットに基づいて訓練された画像モデルを提供しています.私たちは移転学習に便利です.初めて使う時、モデルの重み付けデータは~/.kers/modelsディレクトリにダウンロードされます.
画像モデル
説明
構造関数
InceptionV 3
InceptionV 3(includet t=True、weights=’imagnet’、input-utensor=None、input-ushape=None、pooling=None、clases=1000)
ResNet 50
Reset Net 50(includet-True,weight='magenet’,input Cantsor=None,input-ushape=None,pooling=None,clases=1000)
VGG 19
VGG 19(includet-True、weight='magenet’、input-utensor=None、input-ushape=None、pooling=None、clases=1000)
VGG 16
VGG 16(includetp=True、weights=’imagnet’、input Cutensor=None、input uushape=None、pooling=None、clases=1000)
Xception
Xception(includet=True,weights='magenet',input-utensor=None,input-ushape=None,pooling=None,clases=1000)
パラメータの説明
パラメータ
説明
include_トップ
トップレベルの全接続ネットワークを保持するかどうか、Falseはbottleneckだけです.
weight
‘imagnet’は事前訓練の重み付けをロードすることを表します.Noneはランダム初期化を表します.
input_テナント
モデルとしての画像出力をKeras tenssorに記入することができます.
input_shape
長いのは3のtupleで、入力のピクチャーのshopを指定して、ピクチャーの幅の高さは197より大きくなければなりません.
pooling
特徴抽出ネットワークの池化方式.Noneはプール化しないことを表して、最後の畳み込み層の出力は4 Dテンソルです.avg’はグローバル平均池化を表し、‘max’はグローバル最大値プール化を表します.
クラスes
画像分類のカテゴリ数は、include_top=True weight=Noneは使えます.
移転学習については、この記事を参照してください.画像の分類は、極小データセットでどのように実現されますか?画像変換を通して既存のモデルを使って、fine-tuneの新しい分類器を使う過程を紹介します.
3モデルの可視化
utilsカバンの中にplot_を提供しています.モデル関数は、一つのモデルを画像として表現するために使用されます.この機能はpydot-ngとgraphvizに依存します. pip install pydot-ng graphhviz 1 , 1 ,
1 Callbacks
Callbacksはトレーニング中にフィードバックされるための一連のクラスを提供し、トレーニング過程の観察と干渉を実現する.ライブラリによって提供されるクラスの他に、ユーザーもクラスをカスタマイズすることができます.ここでは、比較的有用なコールバッククラスを挙げます.
クラス名
作用
構造関数
Model Check point
epoch間で保存するためのモデル
Model Checkpoint(filepath、monitor=’valcuoss’、savemb est uonly=False、savemuweightsuonly=False、mode=’aut’、period=1)
EarlyStoping
early stopがアクティブになると(lossが発見された場合、前のepochトレーニングに比べて減少していない)、patienceのepochを経てトレーニングを停止します.
EarlyStoping(monitor=’valcuoss’,patience=0,mode=’aut’)
TensorBoard
tbを生成するために必要なログ
TensorBoard(loguder='.logs',histogramufreq=0,writeugraph=True,writegages=False,embeddingsufreq=0,embeddingsulayermunes=None,embeddingsumatea=
ReduceLROnPlate
指標が変化する時、学習率を減らす.
ReduceLnPlate(monitor=’valmooss’、factor=0.1、patience=10、mode=’aut’、epsilon=0.0001、coolown=0、minulr=0)
例:
from keras.callbacks import ModelCheckpoint
model = Sequential()
model.add(Dense(10, input_dim=784, kernel_initializer='uniform'))
model.add(Activation('softmax'))
model.compile(loss='categorical_crossentropy', optimizer='rmsprop')
checkpointer = ModelCheckpoint(filepath="/tmp/weights.h5", save_best_only=True)
tensbrd = TensorBoard(logdir='path/of/log')
model.fit(X_train, Y_train, batch_size=128, callbacks=[checkpointer,tensbrd])
2 Application
このモジュールはイマジネットに基づいて訓練された画像モデルを提供しています.私たちは移転学習に便利です.初めて使う時、モデルの重み付けデータは~/.kers/modelsディレクトリにダウンロードされます.
画像モデル
説明
構造関数
InceptionV 3
InceptionV 3(includet t=True、weights=’imagnet’、input-utensor=None、input-ushape=None、pooling=None、clases=1000)
ResNet 50
Reset Net 50(includet-True,weight='magenet’,input Cantsor=None,input-ushape=None,pooling=None,clases=1000)
VGG 19
VGG 19(includet-True、weight='magenet’、input-utensor=None、input-ushape=None、pooling=None、clases=1000)
VGG 16
VGG 16(includetp=True、weights=’imagnet’、input Cutensor=None、input uushape=None、pooling=None、clases=1000)
Xception
Xception(includet=True,weights='magenet',input-utensor=None,input-ushape=None,pooling=None,clases=1000)
パラメータの説明
パラメータ
説明
include_トップ
トップレベルの全接続ネットワークを保持するかどうか、Falseはbottleneckだけです.
weight
‘imagnet’は事前訓練の重み付けをロードすることを表します.Noneはランダム初期化を表します.
input_テナント
モデルとしての画像出力をKeras tenssorに記入することができます.
input_shape
長いのは3のtupleで、入力のピクチャーのshopを指定して、ピクチャーの幅の高さは197より大きくなければなりません.
pooling
特徴抽出ネットワークの池化方式.Noneはプール化しないことを表して、最後の畳み込み層の出力は4 Dテンソルです.avg’はグローバル平均池化を表し、‘max’はグローバル最大値プール化を表します.
クラスes
画像分類のカテゴリ数は、include_top=True weight=Noneは使えます.
移転学習については、この記事を参照してください.画像の分類は、極小データセットでどのように実現されますか?画像変換を通して既存のモデルを使って、fine-tuneの新しい分類器を使う過程を紹介します.
3モデルの可視化
utilsカバンの中にplot_を提供しています.モデル関数は、一つのモデルを画像として表現するために使用されます.この機能はpydot-ngとgraphvizに依存します. pip install pydot-ng graphhviz
from keras.utils import plot_model
model = keras.applications.InceptionV3()
plot_model(model, to_file='model.png')