Darkflow: テンソルフローテンソルリシェイプエラー

作成日 2017年04月08日  ·  3コメント  ·  ソース: thtrieu/darkflow

私は自分のデータセットでyoloをトレーニングしようとしています。 2つのオブジェクトで10枚の画像に過剰適合することに成功しました。 推論はうまく機能します。

現在、6000枚の画像の完全なデータセットでトレーニングしようとしていますが、エラーが発生します。
トレーニングに使用するcmd:
./flow --train --dataset /home/ubuntu/datasets/img/ --annotation /home/ubuntu/datasets/anno/ --model cfg/yolo-17c.cfg --load bin/yolo.weights --keep 5 --epoch 30000 --save 1000 --lr 0.00001 --batch 16 --gpu .8

実際のエラー:

op'Reshape 'が原因で、次の場所で定義されています。
ファイル "./flow"、44行目、
tfnet = TFNet(FLAGS)
__init__のファイル "/home/ubuntu/darkflow/net/build.py"、63行目
self.setup_meta_ops()
setup_meta_opsのファイル "/home/ubuntu/darkflow/net/build.py"、行106
self.FLAGS.trainの場合:self.build_train_op()
build_train_opのファイル "/home/ubuntu/darkflow/net/help.py"、15行目
self.framework.loss(self.out)
ファイル "/home/ubuntu/darkflow/net/yolov2/train.py"、56行目、損失
net_out_reshape = tf.reshape(net_out、[-1、H、W、B、(4 + 1 + C)])
ファイル "/home/ubuntu/.conda/envs/py3/lib/python3.5/site-packages/tensorflow/python/ops/gen_array_ops.py"、2630行目、形状変更
name = name)
ファイル "/home/ubuntu/.conda/envs/py3/lib/python3.5/site-packages/tensorflow/python/framework/op_def_library.py"、763行目、apply_op
op_def = op_def)
create_opのファイル「/home/ubuntu/.conda/envs/py3/lib/python3.5/site-packages/tensorflow/python/framework/ops.py」、2327行目
original_op = self._default_original_op、op_def = op_def)
ファイル "/home/ubuntu/.conda/envs/py3/lib/python3.5/site-packages/tensorflow/python/framework/ops.py"、行1226、__ init__
self._traceback = _extract_stack()
InvalidArgumentError(トレースバックについては上記を参照):形状変更への入力は1149200値のテンソルですが、要求された形状には18590の倍数が必要です
[[Node:Reshape = Reshape [T = DT_FLOAT、Tshape = DT_INT32、_device = "/ job:localhost / reply:0 / task:0 / gpu :0"](output、Reshape / shape)]]
[[Node:mul_30 / _195 = _Recv [client_terminated = false、recv_device = "/ job:localhost / reply:0 / task:0 / cpu :0"、send_device = "/ job:localhost / reply:0 / task:0 / gpu :0 "、send_device_incarnation = 1、tensor_name =" edge_188_mul_30 "、tensor_type = DT_FLOAT、_device =" / job:localhost / reply:0 / task:0 / cpu :0 "]()]]

私のlabels.txtファイルには17個のラベルがあります。
yolo-17c.cfgに加えた変更は次のとおりです。
最後のレイヤーのfilters=125私も42535これを試しました
クラス数に基づくclasses=17

18590番号をwidth=224, height=224に変更すると、 width=416, height=416に関連付けられていることに気付きました。
...but the requested shape requires a multiple of 21560

@thtrieuは、Dhruv・モハン@、私はこのエラーを取得していますなぜあなたが任意のアイデアを持っています@abagshaw?

お手伝いありがとう

最も参考になるコメント

最後のコンバージョンにfilters=110を設定する必要があります。 層。
次の式に基づく必要があります。
フィルタ=#num *(#classes + 5)

[畳み込み]
サイズ= 1
ストライド= 1
pad = 1
フィルタ= 110
アクティベーション=線形
[領域]
アンカー= 0.738768、0.874946、2.42204、2.65704、4.30971、7.04493、10.246、4.59428、12.6868、11.8741

お役に立てば幸い

全てのコメント3件

最後のコンバージョンにfilters=110を設定する必要があります。 層。
次の式に基づく必要があります。
フィルタ=#num *(#classes + 5)

[畳み込み]
サイズ= 1
ストライド= 1
pad = 1
フィルタ= 110
アクティベーション=線形
[領域]
アンカー= 0.738768、0.874946、2.42204、2.65704、4.30971、7.04493、10.246、4.59428、12.6868、11.8741

お役に立てば幸い

@ 1NNcoder問題がまだ解決されているかどうか教えてください。 もしそうなら、あなたはそれを閉じて他の人のためにスペースを空けることができます:)

はい、これは機能します

このページは役に立ちましたか?
0 / 5 - 0 評価

関連する問題

ShawnDing1994 picture ShawnDing1994  ·  4コメント

Kowasaki picture Kowasaki  ·  4コメント

hrshovon picture hrshovon  ·  5コメント

humanova picture humanova  ·  4コメント

xunkaixin picture xunkaixin  ·  4コメント