tensorflow模型训练出错,如何解决?

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的办法来解决这个问题?

img


维度不匹配,查看以下你的model网络层哪里设置或者链接错误或者是类别数目不对