问题描述:

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代码实现小样本图像分类,在网络训练时出现错误相关推荐

  1. 华为开源自研AI框架MindSpore!自动微分、并行加持,一次训练,可多场景部署...

    乾明 发自 凹非寺  量子位 报道 | 公众号 QbitAI 华为的开源AI框架,来了! 刚刚,华为宣布正式开源自研深度学习框架MindSpore,代码已经上线. MindSpore是一款支持端边云全 ...

  2. 蓝桥杯单片机DS1302时钟芯片驱动代码注释

    蓝桥杯单片机DS1302时钟芯片驱动代码之前的疑惑注释了下 /* DS1302 芯片包含一个 实时时钟/日历和 31 字节的静态 RAM. 与时钟/RAM 通讯只需要三根线: CE,I/O (数据线) ...

  3. MindSpore:云道mindspore自定义镜像不能使用mindspore进行多卡训练

    问题描述: 云道mindspore自定义镜像不能使用mindspore进行多卡训练. hccl无法初始化,可能是IP配置文件的IP是192.168开头的内网IP导致? 基础镜像地址:D910+ME版本 ...

  4. MDIN380 SDI转VGA 转LVDS VGA转SDI 高清视频处理 MDIN380芯片 PCB代码方案资料

    MDIN380 SDI转VGA 转LVDS VGA转SDI 高清视频处理 MDIN380芯片 PCB代码方案资料 3G-SDI转VGA ?3G-SDI转LVDS ?高清视频 MDIN380.GV760 ...

  5. 【CVPR Oral】TensorFlow实现StarGAN代码全部开源,1天训练完

    [CVPR Oral]TensorFlow实现StarGAN代码全部开源,1天训练完 原文:https://mp.weixin.qq.com/s?__biz=MzI3MTA0MTk1MA==& ...

  6. 【机器学习PAI实践十】深度学习Caffe框架实现图像分类的模型训练

    背景 我们在之前的文章中介绍过如何通过PAI内置的TensorFlow框架实验基于Cifar10的图像分类,文章链接:https://yq.aliyun.com/articles/72841.使用Te ...

  7. [Pytorch系列-61]:循环神经网络 - 中文新闻文本分类详解-3-CNN网络训练与评估代码详解

    作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客 本文网址:https://blog.csdn.net/HiWangWenBing/article/detai ...

  8. 【深度神经网络原理结合代码剖析】网络训练

    关于网络训练代码的剖析还是用一个简单的网络,做图像分类任务来举例. 在以下代码中,我们定义了一个ModelNet网络,包含了卷积池化和全连接层. 接下来我们从路径path中读取了需要的训练数据.数据来 ...

  9. 【CV】Res-MLP:具有数据高效训练的图像分类前馈网络

    论文名称:ResMLP: Feedforward networks for image classification with data-efficient training 论文下载:https:/ ...

最新文章

  1. 领跑交互新时代 蓦然认知助力传统产业智能化升级
  2. vsftp锁定用户在家目录
  3. javax.servlet.ServletException: Servlet[springmvc]的Servlet.init()引发异常
  4. python在读写文件之前需要创建文件对象-python读取或写入文件
  5. python 内置函数__name__的作用
  6. zsh 自动补全导致命令显示重复
  7. html的li浮动之后往下移动,多个li浮动后居中显示问题
  8. boost::sort模块float_sort 右移函子排序示例
  9. 牛客 - Elo mountains(AC自动机+可持久化数组优化)
  10. store procedure 翻页
  11. 关于eclipse总是出现adb refused request的问题(转)
  12. 微软Windows Hello曝漏洞!外接一个USB摄像头,分分钟破解你的电脑
  13. CAD 2022卸载方法,如何完全彻底卸载删除清理干净CAD各种残留注册表和文件? 【转载】
  14. 通过mtd读写flash_flash的读写与擦除
  15. conda环境下更新pip失败
  16. 形式化方法-- petri net
  17. 淘宝短视频多模态融合识别
  18. python计算对数收益率_为VNPY的K线序列管理工具ArrayManager增加对数收益率队列
  19. Java指定日期N个月后的日期
  20. python秒数转化为时间用户jianpang_Python写了个域名注册查询脚本,支持自定义数字,字母,拼音组合以及域名长度....

热门文章

  1. 前端工具汇总(不定期更新)
  2. lisp 标记形心_DXF组码来生成标注样式(标注文字样式、标注箭头样式)
  3. linux的mysql装在哪了,Linux怎么查看软件安装路径 查看mysql安装在哪
  4. iOS 动态控制屏幕旋转
  5. 不能右键新建html文件,win7右键无新建文件夹 win7图片库无法新建文件夹
  6. 机制才是解决问题的根本
  7. win10系统怎么搜索xp计算机,win10怎么重装winxp_win10上如何安装xp系统
  8. python 打印倒三角九九乘法表
  9. >>数据管理:DAMA简介「考试和续期」
  10. 转载--Linux信号(signal) 机制分析