tensorflow进行模型训练,训练报错了
callbacks = [EarlyStopping(monitor='val_loss',patience=50,mode='min')]
#use Adam as optimizer
model.compile(loss='categorical_crossentropy',optimizer='adam',metrics=['accuracy'])
epochs_num=train_parameters['num_epochs']
model.fit(
train_generator,
epochs=epochs_num,
callbacks=callbacks,
steps_per_epoch=14563 // 8,
validation_data=validation_generator,
validation_steps=1588 // 8
)
报错内容如下:
Epoch 1/40
Traceback (most recent call last):
File "D:\360极速浏览器下载\ex4.py", line 133, in <module>
model.fit(
File "D:\anaconda\lib\site-packages\keras\utils\traceback_utils.py", line 67, in error_handler
raise e.with_traceback(filtered_tb) from None
File "D:\anaconda\lib\site-packages\tensorflow\python\eager\execute.py", line 54, in quick_execute
tensors = pywrap_tfe.TFE_Py_Execute(ctx._handle, device_name, op_name,
InvalidArgumentError: Graph execution error:
Detected at node 'categorical_crossentropy/softmax_cross_entropy_with_logits' defined at (most recent call last):
File "D:\anaconda\lib\runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "D:\anaconda\lib\runpy.py", line 87, in _run_code
exec(code, run_globals)
File "D:\anaconda\lib\site-packages\spyder_kernels\console\__main__.py", line 23, in <module>
start.main()
File "D:\anaconda\lib\site-packages\spyder_kernels\console\start.py", line 328, in main
kernel.start()
File "D:\anaconda\lib\site-packages\ipykernel\kernelapp.py", line 677, in start
self.io_loop.start()
File "D:\anaconda\lib\site-packages\tornado\platform\asyncio.py", line 199, in start
self.asyncio_loop.run_forever()
File "D:\anaconda\lib\asyncio\base_events.py", line 596, in run_forever
self._run_once()
File "D:\anaconda\lib\asyncio\base_events.py", line 1890, in _run_once
handle._run()
File "D:\anaconda\lib\asyncio\events.py", line 80, in _run
self._context.run(self._callback, *self._args)
File "D:\anaconda\lib\site-packages\ipykernel\kernelbase.py", line 457, in dispatch_queue
await self.process_one()
File "D:\anaconda\lib\site-packages\ipykernel\kernelbase.py", line 446, in process_one
await dispatch(*args)
File "D:\anaconda\lib\site-packages\ipykernel\kernelbase.py", line 353, in dispatch_shell
await result
File "D:\anaconda\lib\site-packages\ipykernel\kernelbase.py", line 648, in execute_request
reply_content = await reply_content
File "D:\anaconda\lib\site-packages\ipykernel\ipkernel.py", line 353, in do_execute
res = shell.run_cell(code, store_history=store_history, silent=silent)
File "D:\anaconda\lib\site-packages\ipykernel\zmqshell.py", line 533, in run_cell
return super(ZMQInteractiveShell, self).run_cell(*args, **kwargs)
File "D:\anaconda\lib\site-packages\IPython\core\interactiveshell.py", line 2901, in run_cell
result = self._run_cell(
File "D:\anaconda\lib\site-packages\IPython\core\interactiveshell.py", line 2947, in _run_cell
return runner(coro)
File "D:\anaconda\lib\site-packages\IPython\core\async_helpers.py", line 68, in _pseudo_sync_runner
coro.send(None)
File "D:\anaconda\lib\site-packages\IPython\core\interactiveshell.py", line 3172, in run_cell_async
has_raised = await self.run_ast_nodes(code_ast.body, cell_name,
File "D:\anaconda\lib\site-packages\IPython\core\interactiveshell.py", line 3364, in run_ast_nodes
if (await self.run_code(code, result, async_=asy)):
File "D:\anaconda\lib\site-packages\IPython\core\interactiveshell.py", line 3444, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "C:\Users\dell\AppData\Local\Temp/ipykernel_17024/1538784633.py", line 1, in <module>
runcell('[46]', 'D:/360极速浏览器下载/ex4.py')
File "D:\anaconda\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 673, in runcell
exec_code(cell_code, filename, ns_globals, ns_locals,
File "D:\anaconda\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 465, in exec_code
exec(compiled, ns_globals, ns_locals)
File "D:\360极速浏览器下载\ex4.py", line 133, in <module>
model.fit(
File "D:\anaconda\lib\site-packages\keras\utils\traceback_utils.py", line 64, in error_handler
return fn(*args, **kwargs)
File "D:\anaconda\lib\site-packages\keras\engine\training.py", line 1384, in fit
tmp_logs = self.train_function(iterator)
File "D:\anaconda\lib\site-packages\keras\engine\training.py", line 1021, in train_function
return step_function(self, iterator)
File "D:\anaconda\lib\site-packages\keras\engine\training.py", line 1010, in step_function
outputs = model.distribute_strategy.run(run_step, args=(data,))
File "D:\anaconda\lib\site-packages\keras\engine\training.py", line 1000, in run_step
outputs = model.train_step(data)
File "D:\anaconda\lib\site-packages\keras\engine\training.py", line 860, in train_step
loss = self.compute_loss(x, y, y_pred, sample_weight)
File "D:\anaconda\lib\site-packages\keras\engine\training.py", line 918, in compute_loss
return self.compiled_loss(
File "D:\anaconda\lib\site-packages\keras\engine\compile_utils.py", line 201, in __call__
loss_value = loss_obj(y_t, y_p, sample_weight=sw)
File "D:\anaconda\lib\site-packages\keras\losses.py", line 141, in __call__
losses = call_fn(y_true, y_pred)
File "D:\anaconda\lib\site-packages\keras\losses.py", line 245, in call
return ag_fn(y_true, y_pred, **self._fn_kwargs)
File "D:\anaconda\lib\site-packages\keras\losses.py", line 1789, in categorical_crossentropy
return backend.categorical_crossentropy(
File "D:\anaconda\lib\site-packages\keras\backend.py", line 5098, in categorical_crossentropy
return tf.nn.softmax_cross_entropy_with_logits(
Node: 'categorical_crossentropy/softmax_cross_entropy_with_logits'
logits and labels must be broadcastable: logits_size=[8,66] labels_size=[8,65]
[[{{node categorical_crossentropy/softmax_cross_entropy_with_logits}}]] [Op:__inference_train_function_5478]
查到的办法是修改GPU运行,但是数据没有那么大,只是几张很小的图。
有没有不需要修改GPU的办法来解决这个问题?