Olá @thtrieu ,
Recebi o seguinte erro:
InvalidArgumentError (veja acima para traceback): Formas incompatíveis: [40,196,5,2] vs. [16,196,5,2]
[[Nó: Mínimo = Mínimo [T = DT_FLOAT, _device = "/ job: localhost / réplica : 0 / tarefa: 0 / cpu : 0"] (add_2, _recv_Placeholder_6_0)]]
Eu uso este comando: ./flow --model cfg / tiny-yolo-voc.cfg --load bin / tiny-yolo-voc.weights --train
Não consigo reproduzir este erro em minha máquina, certifique-se de ter todas as dependências listadas no README, extraia o novo código e tente novamente.
@thtrieu Tenho o mesmo problema ao tentar treinar um conjunto de dados VOC2007. Isso acontece quando eu uso um cfg personalizado e etiquetas.txt personalizadas com três classes:
Mudanças em [região]:
[região]
âncoras = 0,738768,0.874946, 2,42204,2.65704, 4.30971,7.04493, 10.246,4.59428, 12.6868,11.8741
bias_match = 1
classes = 3
coords = 4
num = 5
softmax = 1
jitter = 0,2
rescore = 1
Comando:
./flow --train --model pathToMyCFG.cfg --annotation pathToMyAnnotationsFolder --dataset pathToMyImagesFolder
Saída:
Causado por op 'Máximo', definido em:
Arquivo "./flow", linha 42, em
tfnet = TFNet (FLAGS)
Arquivo "/Users/mbp/darkflow/net/build.py", linha 51, em __init__
self.setup_meta_ops ()
Arquivo "/Users/mbp/darkflow/net/build.py", linha 94, em setup_meta_ops
if self.FLAGS.train: self.build_train_op ()
Arquivo "/Users/mbp/darkflow/net/help.py", linha 15, em build_train_op
self.framework.loss (self.out)
Arquivo "/Users/mbp/darkflow/net/yolov2/train.py", linha 78, em perda
intersect_upleft = tf.maximum (floor, _upleft)
Arquivo "/Users/mbp/anaconda/lib/python3.5/site-packages/tensorflow/python/ops/gen_math_ops.py", linha 1492, no máximo
resultado = _op_def_lib.apply_op ("Máximo", x = x, y = y, nome = nome)
Arquivo "/Users/mbp/anaconda/lib/python3.5/site-packages/tensorflow/python/framework/op_def_library.py", linha 759, em apply_op
op_def = op_def)
Arquivo "/Users/mbp/anaconda/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", linha 2240, em create_op
original_op = self._default_original_op, op_def = op_def)
Arquivo "/Users/mbp/anaconda/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", linha 1128, em __init__
self._traceback = _extract_stack ()
InvalidArgumentError (veja acima para traceback): Formas incompatíveis: [170,169,5,2] vs. [16,169,5,2]
[[Nó: Máximo = Máximo [T = DT_FLOAT, _device = "/ job: localhost / réplica : 0 / tarefa: 0 / cpu : 0"] (sub, _recv_Placeholder_5_0)]]
tente mudar "filtros" na última camada de convolução
[convolucional]
tamanho = 1
passo = 1
pad = 1
filtros = #num * (#classes + 5)
ativação = linear
Agora funciona perfeitamente: D Obrigado @ ryansun1900
Obrigado a todos.
Comentários muito úteis
tente mudar "filtros" na última camada de convolução
[convolucional]
tamanho = 1
passo = 1
pad = 1
filtros = #num * (#classes + 5)
ativação = linear