You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

训练ML模型时遇TypeError:无法将0.8转为int64类型EagerTensor

解决model.fit训练时的TypeError问题

错误原因:steps_per_epoch和validation_steps必须传入整数类型参数,你通过train_len/20、val_len/20得到了浮点数(比如报错中的0.8),无法转换为要求的int64类型张量。

解决方法:

  • 使用整数除法替代普通除法,直接得到整数结果:
    将train_len/20改为train_len // 20,val_len/20改为val_len // 20
  • 或者用int()强制转换浮点数为整数:
    int(train_len/20)、int(val_len/20)(注意:小数部分会被直接截断,若结果为0需调整计算逻辑)

修改后的代码示例:

history = model.fit(train_ds, 
          steps_per_epoch=train_len // 20,
          validation_data=val_ds,
          validation_steps=val_len // 20,
          epochs=50,
          verbose=1,
          callbacks=[cp_callback]
          )

内容的提问来源于stack exchange,提问作者NX Developer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 14:15:36