xiaochus / MobileNetV3

A Keras implementation of MobileNetV3.
MIT License
237 stars 84 forks source link

tensorflow.python.framework.errors_impl.InvalidArgumentError: Incompatible shapes #1

Closed LiuXiaolong19920720 closed 5 years ago

LiuXiaolong19920720 commented 5 years ago

感谢作者开源,训练的时候遇到了下面的问题: Traceback (most recent call last): File "train.py", line 100, in <module> train() File "train.py", line 92, in train callbacks=[earlystop]) File "/usr/local/python-3.5.6/lib/python3.5/site-packages/keras/legacy/interfaces.py", line 91, in wrapper return func(*args, **kwargs) File "/usr/local/python-3.5.6/lib/python3.5/site-packages/keras/engine/training.py", line 1418, in fit_generator initial_epoch=initial_epoch) File "/usr/local/python-3.5.6/lib/python3.5/site-packages/keras/engine/training_generator.py", line 217, in fit_generator class_weight=class_weight) File "/usr/local/python-3.5.6/lib/python3.5/site-packages/keras/engine/training.py", line 1217, in train_on_batch outputs = self.train_function(ins) File "/usr/local/python-3.5.6/lib/python3.5/site-packages/keras/backend/tensorflow_backend.py", line 2715, in __call__ return self._call(inputs) File "/usr/local/python-3.5.6/lib/python3.5/site-packages/keras/backend/tensorflow_backend.py", line 2675, in _call fetched = self._callable_fn(*array_vals) File "/usr/local/python-3.5.6/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 1439, in __call__ run_metadata_ptr) File "/usr/local/python-3.5.6/lib/python3.5/site-packages/tensorflow/python/framework/errors_impl.py", line 528, in __exit__ c_api.TF_GetCode(self.status.status)) tensorflow.python.framework.errors_impl.InvalidArgumentError: Incompatible shapes: [2,90,270,256] vs. [2,256] [[{{node training/Adam/gradients/lambda_1/mul_grad/BroadcastGradientArgs}} = BroadcastGradientArgs[T=DT_INT32, _class=["loc:@training/Adam/gradients/batch_normalization_3/cond/Merge_grad/cond_grad"], _device="/job:localhost/replica:0/task:0/device:CPU:0"](training/Adam/gradients/lambda_1/mul_grad/Shape, training/Adam/gradients/lambda_1/mul_grad/Shape_1)]] 配置文件是这样的: { "model": "small", "height": 360, "width": 1080, "class_number": 2, "learning_rate": 0.001, "batch": 2, "epochs": 20, "train_dir": "data/train", "eval_dir": "data/validation", "save_dir": "save/" } 能否帮忙看看是怎么回事,非常感谢。

另外一个小地方,train.py里面的判断save不存在则mkdir,应该是少写了一个not。

xiaochus commented 5 years ago

@LiuXiaolong19920720 已修复,可以再试一下。

LiuXiaolong19920720 commented 5 years ago

@xiaochus 上一个问题确实没了,出现了另一个问题。 Traceback (most recent call last): File "train.py", line 101, in <module> train() File "train.py", line 93, in train callbacks=[earlystop]) File "/usr/local/python-3.5.6/lib/python3.5/site-packages/keras/legacy/interfaces.py", line 91, in wrapper return func(*args, **kwargs) File "/usr/local/python-3.5.6/lib/python3.5/site-packages/keras/engine/training.py", line 1418, in fit_generator initial_epoch=initial_epoch) File "/usr/local/python-3.5.6/lib/python3.5/site-packages/keras/engine/training_generator.py", line 217, in fit_generator class_weight=class_weight) File "/usr/local/python-3.5.6/lib/python3.5/site-packages/keras/engine/training.py", line 1211, in train_on_batch class_weight=class_weight) File "/usr/local/python-3.5.6/lib/python3.5/site-packages/keras/engine/training.py", line 789, in _standardize_user_data exception_prefix='target') File "/usr/local/python-3.5.6/lib/python3.5/site-packages/keras/engine/training_utils.py", line 138, in standardize_input_data str(data_shape)) ValueError: Error when checking target: expected reshape_20 to have shape (2,) but got array with shape (1,)

xiaochus commented 5 years ago

@LiuXiaolong19920720 你这个问题是什么时候出现的呢,我本地没有出现这个问题。