求大佬指点!!!!!!!
一、问题分析与解答 错误根源 - 在PyTorch中,数据类型的转换需要遵循一定的规则。正如之前提到的 RuntimeError: result type Float can't be cast to the desired output type __int64 错误,主要原因是 gj 在进行一系列操作后,虽然使用了 .round() 方法进行四舍五入,但它的类型仍然是 Float 。在PyTorch中, .round() 不会改变张量的数据类型,所以后续直接使用 .to(torch.int64) 转换就会失败。 解决方案 - 如修改后的代码所示,可以将 .round().to(torch.int64) 修改为 .round().long() 或者直接使用 .long() 。这是因为在PyTorch中, .long() 是 .to(torch.int64) 的别名,这样做能够确保在进行类型转换之前正确地将浮点数四舍五入为整数,从而避免了类型不匹配的错误。 - 另外,还需要注意 gain[3] 的值应该是一个合理的数值(大于1的整数),以确保 clamp_ 方法能够正确地限制 gj 的值范围。 二、相关书籍推荐 《Python编程从入门到实践》 - 作者 :Eric Matthes - 出版社 :人民邮电出版社 - 特点 内容全面,涵盖了Python的基础语法知识,包括变量、数据类型、控制结构、函数等。对于初学者来说非常友好,书中有大量的示例代码,并且每个项目都有详细的讲解。例如在讲解函数时,会从函数的定义、参数传递、返回值等多方面进行阐述,并且通过实际的小例子让用户理解如何创建和使用函数。 它还包含三个项目,分别是Web应用程序、数据可视化和游戏开发。这些项目可以帮助读者将所学的知识应用到实际的开发场景中,提高读者的动手能力。 与其他书籍比较 相比于一些只注重理论讲解的书籍,它的实践项目是一大亮点。而与其他实践型书籍相比,它的基础语法讲解又非常扎实,为后续的项目开发奠定了良好的基础。 《PyTorch深度学习实战》 - 作者 :Eli Stevens、Luca Antiga、Thomas Viehmann - ...