MindSpore:Ascend芯片Mindspore代码实现小样本图像分类,在网络训练时出现错误
问题描述:
Mindspore环境:v1.0.1,Ascend
问题背景:小样本图像分类,需要自定义数据集,采用了GeneratorDataset;自定义采样器Sampler;仿照教程自定义了WithLossCell和TrainOneStepCell,为了以循环的方式
进行网络的训练,发现报错
报错信息如下:
[ERROR] PIPELINE(13373,python):2021-04-10-08:30:55.177.577 [mindspore/ccsrc/pipeline/jit/pipeline.cc:536] Compile]
Traceback (most recent call last):
File "train.py", line 242, in <module>
main()
File "train.py", line 225, in main
optim=optim)
File "train.py", line 147, in train
loss, acc = net(inputs["img"], inputs["label"], opt.num_support_tr)
File "/usr/local/lib/python3.7/dist-packages/mindspore/nn/cell.py", line 280, in __call__
out = self.compile_and_run(*inputs)
File "/usr/local/lib/python3.7/dist-packages/mindspore/nn/cell.py", line 535, in compile_and_run
self.compile(*inputs)
File "/usr/local/lib/python3.7/dist-packages/mindspore/nn/cell.py", line 522, in compile
_executor.compile(self, *inputs, phase=self.phase, auto_parallel_mode=self._auto_parallel_mode)
File "/usr/local/lib/python3.7/dist-packages/mindspore/common/api.py", line 412, in compile
result = self._executor.compile(obj, args_list, phase, use_vm)
File "/usr/local/lib/python3.7/dist-packages/mindspore/_extends/parse/parser.py", line 343, in get_object_description
return f"function '{obj.name}' at {fname}:{fline}"
AttributeError: 'function' object has no attribute 'name'
自定义的WithLossCell和TrainOneStepCell如下:
class WithLossCell(nn.Cell):
def __init__(self, model):
super(WithLossCell, self).__init__(auto_prefix=False)
self.model = model
def construct(self, x, target, num_support):
y_pred = self.model(x)
return loss_fn(y_pred, target, num_support)
class TrainOneStepCell(nn.Cell):
def __init__(self, network, optimizer, sens=1.0):
super(TrainOneStepCell, self).__init__(auto_prefix=False)
self.network = network
self.network.set_grad()
self.weights = ParameterTuple(self.network.trainable_params())
self.optimizer = optimizer
self.grad = P.GradOperation(get_by_list=True,
sens_param=True)
self.sens = sens
def construct(self, x, y, num_support):
weights = self.weights
loss, acc = self.network(x, y, num_support)
sens = P.Fill()(P.DType()(loss), P.Shape()(loss), self.sens)
grads = self.grad(self.network, weights)(x, y, sens)
return P.depend(loss, self.optimizer(grads)), acc
模型定义如下:
net = WithLossCell(model)
net = TrainOneStepCell(net, optim)
求问如何解决?
解决方案:
这个问题在1.0版本是存在,不过在1.1版本已经修复,建议你使用当前最新版本
MindSpore:Ascend芯片Mindspore代码实现小样本图像分类,在网络训练时出现错误相关推荐
- 华为开源自研AI框架MindSpore!自动微分、并行加持,一次训练,可多场景部署...
乾明 发自 凹非寺 量子位 报道 | 公众号 QbitAI 华为的开源AI框架,来了! 刚刚,华为宣布正式开源自研深度学习框架MindSpore,代码已经上线. MindSpore是一款支持端边云全 ...
- 蓝桥杯单片机DS1302时钟芯片驱动代码注释
蓝桥杯单片机DS1302时钟芯片驱动代码之前的疑惑注释了下 /* DS1302 芯片包含一个 实时时钟/日历和 31 字节的静态 RAM. 与时钟/RAM 通讯只需要三根线: CE,I/O (数据线) ...
- MindSpore:云道mindspore自定义镜像不能使用mindspore进行多卡训练
问题描述: 云道mindspore自定义镜像不能使用mindspore进行多卡训练. hccl无法初始化,可能是IP配置文件的IP是192.168开头的内网IP导致? 基础镜像地址:D910+ME版本 ...
- MDIN380 SDI转VGA 转LVDS VGA转SDI 高清视频处理 MDIN380芯片 PCB代码方案资料
MDIN380 SDI转VGA 转LVDS VGA转SDI 高清视频处理 MDIN380芯片 PCB代码方案资料 3G-SDI转VGA ?3G-SDI转LVDS ?高清视频 MDIN380.GV760 ...
- 【CVPR Oral】TensorFlow实现StarGAN代码全部开源,1天训练完
[CVPR Oral]TensorFlow实现StarGAN代码全部开源,1天训练完 原文:https://mp.weixin.qq.com/s?__biz=MzI3MTA0MTk1MA==& ...
- 【机器学习PAI实践十】深度学习Caffe框架实现图像分类的模型训练
背景 我们在之前的文章中介绍过如何通过PAI内置的TensorFlow框架实验基于Cifar10的图像分类,文章链接:https://yq.aliyun.com/articles/72841.使用Te ...
- [Pytorch系列-61]:循环神经网络 - 中文新闻文本分类详解-3-CNN网络训练与评估代码详解
作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客 本文网址:https://blog.csdn.net/HiWangWenBing/article/detai ...
- 【深度神经网络原理结合代码剖析】网络训练
关于网络训练代码的剖析还是用一个简单的网络,做图像分类任务来举例. 在以下代码中,我们定义了一个ModelNet网络,包含了卷积池化和全连接层. 接下来我们从路径path中读取了需要的训练数据.数据来 ...
- 【CV】Res-MLP:具有数据高效训练的图像分类前馈网络
论文名称:ResMLP: Feedforward networks for image classification with data-efficient training 论文下载:https:/ ...
最新文章
- 领跑交互新时代 蓦然认知助力传统产业智能化升级
- vsftp锁定用户在家目录
- javax.servlet.ServletException: Servlet[springmvc]的Servlet.init()引发异常
- python在读写文件之前需要创建文件对象-python读取或写入文件
- python 内置函数__name__的作用
- zsh 自动补全导致命令显示重复
- html的li浮动之后往下移动,多个li浮动后居中显示问题
- boost::sort模块float_sort 右移函子排序示例
- 牛客 - Elo mountains(AC自动机+可持久化数组优化)
- store procedure 翻页
- 关于eclipse总是出现adb refused request的问题(转)
- 微软Windows Hello曝漏洞!外接一个USB摄像头,分分钟破解你的电脑
- CAD 2022卸载方法,如何完全彻底卸载删除清理干净CAD各种残留注册表和文件? 【转载】
- 通过mtd读写flash_flash的读写与擦除
- conda环境下更新pip失败
- 形式化方法-- petri net
- 淘宝短视频多模态融合识别
- python计算对数收益率_为VNPY的K线序列管理工具ArrayManager增加对数收益率队列
- Java指定日期N个月后的日期
- python秒数转化为时间用户jianpang_Python写了个域名注册查询脚本,支持自定义数字,字母,拼音组合以及域名长度....
热门文章
- 前端工具汇总(不定期更新)
- lisp 标记形心_DXF组码来生成标注样式(标注文字样式、标注箭头样式)
- linux的mysql装在哪了,Linux怎么查看软件安装路径 查看mysql安装在哪
- iOS 动态控制屏幕旋转
- 不能右键新建html文件,win7右键无新建文件夹 win7图片库无法新建文件夹
- 机制才是解决问题的根本
- win10系统怎么搜索xp计算机,win10怎么重装winxp_win10上如何安装xp系统
- python 打印倒三角九九乘法表
- >>数据管理:DAMA简介「考试和续期」
- 转载--Linux信号(signal) 机制分析