0

CNNで転移学習をしています。自分のデータでネットワークをトレーニングしたいのですが、フォワード パスを実行すると次のエラーが発生しました。

Error using CHECK (line 4)
input data cell length must match input blob number

Error in caffe.Net/forward (line 92)
  CHECK(length(input_data) == length(self.inputs), ...

Error in main (line 79)
results= Unet.forward({data});

ゆっくりとエラーを解決するために、今のところネットワークにはデータレイヤーしかありません。これは私の train.prototxt ファイルです:

name: 'my_phseg_v5-train'

force_backward: true

layer {top: 'image' top:'anno'   name: 'loaddata'    type: 'HDF5Data'   hdf5_data_param { source: '/home/alexandra/Documents/my-u-net/my_data.txt' batch_size: 1} include: { phase: TRAIN }}

マトラブで:

model = '/home/alexandra/Documents/my-u-net/my_phseg_v5-train.prototxt';
weights = '/home/alexandra/Documents/my-u-net/my_phseg_v5.caffemodel';

%defining the net: 
Unet = caffe.Net(model, weights, 'train'); % create net and load weights

results= Unet.forward({'image'});

forward( argument ) に引数として何を入れなければならないのか、よくわかりません。誰かがその点で私を助けることができますか?

また、私の Unet では、入力セルの次元が 0x1 であることに気付きました...それが機能しない理由でもあると思います。

誰かがこの問題を解決する方法について考えを持っていますか?

4

1 に答える 1

0

私の問題の解決策を見つけました:

次元が 0x1 の入力セルの場合:

最初に使用していた train.prototxt ファイルの代わりに deploy.prototxt ファイルを使用しました。このファイルでは、入力の次元が定義されています。

これを関数 forward の引数として使用しました:

output = Unet.blobs('image').get_data();
results= Unet.forward({output});

入力として入力する必要があるのは、データ (私の場合は画像) 自体です。

于 2016-07-25T12:17:32.627 に答える