
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
首先mindspore包含了很多图像数据集,很多可以直接用它封装好的函数,不需要自己创建,但是对于自己特定的任务还是需要自己创建的,首先就是设定训练集和验证集的路径,然后用dataset的一个方法GeneratorDataset就可以创建数据集了,这个比较简单,掌握一些OS库的基本操作就可以,对于文本文件的读取可以用mindspore封装好的LineReader方法,可以很方便的读取文本信息。接着

MindSpore框架中的SGD优化器,通过结合动量、阻尼、Nesterov动量和梯度中心化等多种优化技术,旨在提高模型训练的效率和性能。在训练的过程中,我尝试使用GPU进行训练加速,因为用GPU训实在太慢了,平均一个epoch要30多秒,我下载了能够支持cuda10.1和10.6的mindspore2.2.4版本,同时设置了上下文为GPU环境,但是还是报错了,可能是因为我的cuda是11.6版本

MindSpore框架中的SGD优化器,通过结合动量、阻尼、Nesterov动量和梯度中心化等多种优化技术,旨在提高模型训练的效率和性能。在训练的过程中,我尝试使用GPU进行训练加速,因为用GPU训实在太慢了,平均一个epoch要30多秒,我下载了能够支持cuda10.1和10.6的mindspore2.2.4版本,同时设置了上下文为GPU环境,但是还是报错了,可能是因为我的cuda是11.6版本

但是我最后debug出来似乎都不是以上原因,而是因为我在一个网络(假设是net1)中嵌套了一个网络(net2),但是在train文件中,我进行了model.load_state_dict()(这里想要加载的是net1的权重)这时候会可能会把这个权重加载到嵌套中的另一个网络(net2),而不是本身的网络(net1)中,所以我将这两个网络单独定义,然后各自创建实例,加载权重,就解决这个问题了。3.我修







