当前位置: 首页 > news >正文

python常见错误类型

  Found dtype Double but expected Float

在参与计算的时候两个参与loss计算的值要一样啊

        y_pred = model(train_x,batch_size)
        # 训练过程中,正向传播生成网络的输出,计算输出和实际值之间的损失值
        # 在参与计算的时候 两个loss参与值的类型要一样啊
        y_pred= y_pred.cpu().float()
        train_y=train_y.float()
        single_loss = loss_function(y_pred,train_y)
        single_loss.backward()  # 调用backward()自动生成梯度
        optimizer.step()  # 使用optimizer.step()执行优化器,把梯度传播回每个网络

错误:ValueError: Shapes (6, 1) and (6, 20) are incompatible

解析:

如果y是one-hot encoding格式,使用sparse_categorical_crossentropy

[1,0,0]
[0,1,0]
[0,0,1]

如果y是整数,非one-hot encoding格式,使用categorical_crossentropy

1
2
3

 

报错:errors_impl.UnknownError: 2 root error(s) found.

tensorflow.python.framework.errors_impl.UnknownError: 2 root error(s) found.
  (0) Unknown:  Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above.
     [[node SegNet/block1_conv2/Relu (defined at media/ac/ubuntu train/Semantic-Segmentation-main/train.py:337) ]]
     [[confusion_matrix/assert_less_1/Assert/AssertGuard/pivot_f/_31/_77]]
  (1) Unknown:  Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above.
     [[node SegNet/block1_conv2/Relu (defined at media/ac/ubuntu train/Semantic-Segmentation-main/train.py:337) ]]
0 successful operations.
0 derived errors ignored. [Op:__inference_train_function_6169]
原因分析:可能是显存太小

按需分配现存

tf 2.x与以前版本的差距是:

tf 2.x:tensorflow.compat.v1 

sess =tf.compat.v1.Session(config=config) 
from tensorflow.compat.v1 import ConfigProto
from tensorflow.compat.v1 import InteractiveSession

 按需分配现存示例:

from tensorflow.compat.v1 import ConfigProto
from tensorflow.compat.v1 import InteractiveSession
config = ConfigProto()
config.gpu_options.allow_growth = True
session = InteractiveSession(config=config)
with tf.compat.v1.Session(config=config) as sess:
        # 输入图片为256x256,2个分类
        shape, classes = (224, 224, 3), 20
        # 调用keras的ResNet50模型
        model = keras.applications.resnet50.ResNet50(input_shape = shape, weights=None, classes=classes)
        model.compile(optimizer="adam", loss="sparse_categorical_crossentropy", metrics=["accuracy"])

        # 训练模型 categorical_crossentropy sparse_categorical_crossentropy
        # training = model.fit(train_x, train_y, epochs=50, batch_size=10)
        model.fit(train_x,train_y,validation_data=(test_x, test_y), epochs=20, batch_size=6,verbose=2)
        # # 把训练好的模型保存到文件
        model.save('resnet_model_dog_n_face.h5')

Expected object of scalar type Long but got scalar type Float for argument 

这样可以避免出错:x=torch.Tensor(x.numpy()).float().to(device) # .float() .numpy()

                                x=torch.Tensor(x.numpy()).to(device)

模型不能在gpu上跑 几点原因:

模型内部所以产生的变量都要以tensor的形式放在 gpu上 .to(device)

第二点:模型 损失函数等要在gpu上

model = LSTM().to(device)
loss_function = nn.MSELoss().to(device)
optimizer = torch.optim.SGD(model.parameters(), lr=0.01)#建立优化器实例
print(model)

pycharm报错:Process finished with exit code -1073741819 (0xC0000005)解决办法

 

 在模型种 tensor 不要重复的 使用 .to(device) 和torch.Tensor(arr)

模型保存和加载出现错误:

AttributeError: ‘Network‘ object has no attribute ‘copy‘

解析:torch.nn.modules.module.ModuleAttributeError: ‘Network‘ object has no attribute ‘copy‘_NLOS的博客-CSDN博客

相关文章:

  • 22-09-01 西安 JUC(04)java内存模型JMM、volatile关键字、原子性类、CAS比较并交换、AQS锁原理
  • 加湿器芯片方案:不要让空调带走你的水分
  • Machine learning week 10(Andrew Ng)
  • spring-cloud-alibaba-Nacos2.0.3:注册中心和配置中心框架学习
  • android studio教程,Android Studio一个完整的APP实例
  • jumpserver堡垒机界面设置及界面功能
  • LeetCode---SQL刷题6
  • React知识总结✨
  • 一周时间深扒事务 总结代码演示篇 拿捏事务
  • 剑指offer79-87二进制枚举、回溯
  • 《Coding Monkey的自我修养》之MyBatis批量插入数据的三种方法
  • Windows应急响应信息采集工具
  • 舵机调试上位机
  • 瑞吉外卖 —— 3、员工管理
  • 走到上市前夕,叮当健康如何勾画“医药检险”蓝图?
  • java正则表式的使用
  • PAT A1017 优先队列
  • PHP 小技巧
  • Promise面试题,控制异步流程
  • SQLServer之创建显式事务
  • supervisor 永不挂掉的进程 安装以及使用
  • webpack4 一点通
  • 持续集成与持续部署宝典Part 2:创建持续集成流水线
  • 分布式任务队列Celery
  • 计算机在识别图像时“看到”了什么?
  • 跨域
  • 容器服务kubernetes弹性伸缩高级用法
  • 如何编写一个可升级的智能合约
  • 写代码的正确姿势
  • 用简单代码看卷积组块发展
  • 浅谈sql中的in与not in,exists与not exists的区别
  • (1) caustics\
  • (5)STL算法之复制
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (zz)子曾经曰过:先有司,赦小过,举贤才
  • (二)正点原子I.MX6ULL u-boot移植
  • (切换多语言)vantUI+vue-i18n进行国际化配置及新增没有的语言包
  • (原創) 物件導向與老子思想 (OO)
  • (转载)(官方)UE4--图像编程----着色器开发
  • .describe() python_Python-Win32com-Excel
  • .net core webapi 大文件上传到wwwroot文件夹
  • .NET Core实战项目之CMS 第十二章 开发篇-Dapper封装CURD及仓储代码生成器实现
  • .NET 常见的偏门问题
  • .Net 访问电子邮箱-LumiSoft.Net,好用
  • .NET 命令行参数包含应用程序路径吗?
  • .NET开源的一个小而快并且功能强大的 Windows 动态桌面软件 - DreamScene2
  • @基于大模型的旅游路线推荐方案
  • [] 与 [[]], -gt 与 > 的比较
  • [AIGC] Kong:一个强大的 API 网关和服务平台
  • [BT]BUUCTF刷题第9天(3.27)
  • [bzoj 3534][Sdoi2014] 重建
  • [BZOJ1089][SCOI2003]严格n元树(递推+高精度)
  • [C#]winform部署yolov9的onnx模型
  • [c++] 什么是平凡类型,标准布局类型,POD类型,聚合体
  • [ERROR] Plugin 'InnoDB' init function returned error