深度学习GPU训练中常见的问题

1.optimization_pass.cc:185] None of the MLIR Optimization Passes are enabled (registered 2)

这个问题一般不会影响训练,主要原因是显存不足

解决方法也很简单,1.修改batch_size的大小 2.将数据不要一次加载完,每循环一次加载一次数据。

2. ‘dtensor’报错

 ‘dtensor’报错也特别常见,问题原因是keras版本比tensorflow高造成的

首先在终端查看           pip show keras                  pip show tensorflow

将keras版本和tensorflow统一就可以。

3.failed call to cuInit: CUDA_ERROR_NO_DEVICE: no CUDA-capable device is detected

这个问题首先要确保cuda 和 cuDNN安装没有问题时(显卡的问题),在开头添加如下代码

import tensorflow as tf

config = tf.compat.v1.ConfigProto()
config.gpu_options.allow_growth = True
session = tf.compat.v1.InteractiveSession(config=config)

4.运行时‘cudart64_110.dll‘等文件确实造成的错

这类问题一般都是版本问题造成的,首先在cuda根路径下(一般都是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\bin)搜索这几个文件的前缀,不要加版本,一般都可以搜到,将文件名改成报错信息需要的版本即可。

要是路径下找不到文件,可借助小工具everything全盘搜索,一般conda目录下会有,拷贝到bin目录下就好了。宗旨就是要啥找啥,版本不一样要什么版本就改成什么版本。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
GPU深度学习训练后,如何部署到嵌入式设备主要涉及模型压缩和转换两方面的问题。 首先,模型压缩是为了减小模型的体积和计算量,以适应嵌入式设备有限的资源。常用的模型压缩方法有量化、剪枝和蒸馏等。量化是指将模型的权重参数由浮点型转换为定点型,从而降低存储和计算开销。剪枝是指通过删除模型一些冗余的连接或参数,减少模型的参数数量和计算量。蒸馏是通过使用一个较大的模型(教师模型)来引导另一个较小的模型(学生模型)学习,以达到模型压缩的目的。 其次,模型转换是将训练好的模型从主机端转移到嵌入式设备上进行部署。常用的模型转换方法包括模型编译和模型优化。模型编译是将训练好的模型转换为适合于嵌入式设备运行的特定格式,如TensorFlow Lite(TFLite)和ONNX等。模型优化是通过针对嵌入式设备的硬件和软件进行优化,提高模型推理的速度和效率。 一旦模型经过压缩和转换后,就可以将其部署到嵌入式设备上进行深度学习推理。在部署过程,需要将模型加载到嵌入式设备的内存,并使用相应的推理引擎来执行模型推理。推理引擎会根据模型的结构和参数进行推理计算,并输出相应的结果。 总之,将GPU深度学习训练后的模型部署到嵌入式设备可以通过模型压缩和转换来实现,以适应嵌入式设备的资源限制,并借助相应的推理引擎来执行模型推理。这样可以在嵌入式设备上实现高效的深度学习应用。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值