Speech_Recognition_Test icon indicating copy to clipboard operation
Speech_Recognition_Test copied to clipboard

模型训练好了,运行python test.py报错

Open zhangdanfeng888 opened this issue 4 years ago • 1 comments

Traceback (most recent call last): File "D:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\client\session.py", line 1322, in _do_call return fn(*args) File "D:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\client\session.py", line 1307, in _run_fn options, feed_dict, fetch_list, target_list, run_metadata) File "D:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\client\session.py", line 1409, in _call_tf_sessionrun run_metadata) tensorflow.python.framework.errors_impl.InvalidArgumentError: Assign requires shapes of both tensors to match. lhs shape= [512,1788] rhs shape= [512,2667] [[Node: save/Assign_41 = Assign[T=DT_FLOAT, _class=["loc:@h6"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/device:GPU:0"](h6/Adam_1, save/RestoreV2/_1)]] [[Node: save/RestoreV2/_52 = _SendT=DT_FLOAT, client_terminated=false, recv_device="/job:localhost/replica:0/task:0/device:GPU:0", send_device="/job:localhost/replica:0/task:0/device:CPU:0", send_device_incarnation=1, tensor_name="edge_58_save/RestoreV2", _device="/job:localhost/replica:0/task:0/device:CPU:0"]]

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "D:/Speech_Recognition_Test/test.py", line 18, in bi_rnn.build_test() File "D:\Speech_Recognition_Test\model.py", line 319, in build_test self.init_session() File "D:\Speech_Recognition_Test\model.py", line 189, in init_session self.saver.restore(self.sess, ckpt) File "D:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\training\saver.py", line 1802, in restore {self.saver_def.filename_tensor_name: save_path}) File "D:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\client\session.py", line 900, in run run_metadata_ptr) File "D:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\client\session.py", line 1135, in _run feed_dict_tensor, options, run_metadata) File "D:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\client\session.py", line 1316, in _do_run run_metadata) File "D:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\client\session.py", line 1335, in _do_call raise type(e)(node_def, op, message) tensorflow.python.framework.errors_impl.InvalidArgumentError: Assign requires shapes of both tensors to match. lhs shape= [512,1788] rhs shape= [512,2667] [[Node: save/Assign_41 = Assign[T=DT_FLOAT, _class=["loc:@h6"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/device:GPU:0"](h6/Adam_1, save/RestoreV2/_1)]] [[Node: save/RestoreV2/_52 = _SendT=DT_FLOAT, client_terminated=false, recv_device="/job:localhost/replica:0/task:0/device:GPU:0", send_device="/job:localhost/replica:0/task:0/device:CPU:0", send_device_incarnation=1, tensor_name="edge_58_save/RestoreV2", _device="/job:localhost/replica:0/task:0/device:CPU:0"]]

Caused by op 'save/Assign_41', defined at: File "D:/Speech_Recognition_Test/test.py", line 18, in bi_rnn.build_test() File "D:\Speech_Recognition_Test\model.py", line 319, in build_test self.init_session() File "D:\Speech_Recognition_Test\model.py", line 177, in init_session self.saver = tf.train.Saver(max_to_keep=1) # 生成saver File "D:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\training\saver.py", line 1338, in init self.build() File "D:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\training\saver.py", line 1347, in build self._build(self._filename, build_save=True, build_restore=True) File "D:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\training\saver.py", line 1384, in _build build_save=build_save, build_restore=build_restore) File "D:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\training\saver.py", line 835, in _build_internal restore_sequentially, reshape) File "D:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\training\saver.py", line 494, in _AddRestoreOps assign_ops.append(saveable.restore(saveable_tensors, shapes)) File "D:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\training\saver.py", line 185, in restore self.op.get_shape().is_fully_defined()) File "D:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\ops\state_ops.py", line 283, in assign validate_shape=validate_shape) File "D:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\ops\gen_state_ops.py", line 63, in assign use_locking=use_locking, name=name) File "D:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\framework\op_def_library.py", line 787, in _apply_op_helper op_def=op_def) File "D:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\framework\ops.py", line 3392, in create_op op_def=op_def) File "D:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\framework\ops.py", line 1718, in init self._traceback = self._graph._extract_stack() # pylint: disable=protected-access

InvalidArgumentError (see above for traceback): Assign requires shapes of both tensors to match. lhs shape= [512,1788] rhs shape= [512,2667] [[Node: save/Assign_41 = Assign[T=DT_FLOAT, _class=["loc:@h6"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/device:GPU:0"](h6/Adam_1, save/RestoreV2/_1)]] [[Node: save/RestoreV2/_52 = _SendT=DT_FLOAT, client_terminated=false, recv_device="/job:localhost/replica:0/task:0/device:GPU:0", send_device="/job:localhost/replica:0/task:0/device:CPU:0", send_device_incarnation=1, tensor_name="edge_58_save/RestoreV2", _device="/job:localhost/replica:0/task:0/device:CPU:0"]]

zhangdanfeng888 avatar Mar 16 '20 02:03 zhangdanfeng888

我也遇到了跟楼主一样的问题,原因是你系统的 GPU 有问题,把代码里面关于设备的设置改成可以改成CPU区运行就好了。

Calvin9982 avatar Aug 11 '22 07:08 Calvin9982