ImageData
レイヤーまたはMemoryData
レイヤーの入力ソースをオンザフライで変更することはできますか?Caffeのトレーニング中に入力データレイヤーを変更する
私はエポックごとにデータをシャッフルしようとしていますが、画像と、ネットワークの後の段階で連結したい他の非画像機能の両方を持っています。私は、2つのアライメントを維持する方法で画像と他のデータの両方をシャッフルする信頼できる方法を見つけることができませんでした。
だから、私は(メモリ内の)再生成imagelist.txt
だけでなく、非画像データのすべてのエポックを考え、ImageData
層に新しいファイルを添付し、新しいデータでMemoryDataLayer
を初期化しています。
トレーニングプロセスを再開せずに、新しいテキストファイルでネットワークを再初期化する方法を確認するにはどうすればよいですか。 (私はネットワークが同じステージ、勢いなどで訓練を続け、最初にコンパイルされたものではなく、新しいファイルから画像ファイルを読み始めます)。
layer {
name: "imgdata"
type: "ImageData"
top: "imgdata"
top: "dlabel"
transform_param {
# Transform param here
}
image_data_param {
source: "path to imagelist.txt" ## This file changes after n iterartions
batch_size: XX
new_height: XXX
new_width: XXX
}
}
と同様に、私はMemoryData
層への再シャッフルデータをコピーできるようにしたいです。トレーニングの途中でNet.set_input_arrays
に電話できますか?
layers {
name: "data"
type: MEMORY_DATA
top: "data"
top: "label"
memory_data_param {
batch_size: XX
channels: X
height: XXX
width: XXX
}
あなたはPythonLayerの使用を検討しましたか? – Shai
コメントありがとうございました。 Pythonで書かれたレイヤーであっても、シャッフル中に画像データと非画像データをどのように整列させることができないのか分かりません。 – Prophecies
あなたはPythonのレイヤー内のすべてを行うことができます。 1つのレイヤーからのすべての入力 – Shai