赞
踩
问题描述:
我想请教一下在使用MindSpore框架创建一个卷积层时,如何设置该层的权重精度?
【操作步骤&问题现象】
1、像传统的Keras框架创建一个卷积层只需要在声明时指定dtpye=“float32”就可以指定这一层的权重精度,例如以下语句是合法的:
keras.layers.Conv2D( 8, [3, 3], strides=(2, 2), padding='valid', dtype=“float32”, kernel_initializer=keras.initializers.Constant(value=0.5) )
2、但使用Mindspore框架声明卷积层时则不可以,没有这个参数指定
【截图信息】
解答:
请参考这篇文档: 网络参数 — MindSpore master documentation
这个默认使用的是fp32,如果你使用了自动混合精度O2或者O3,卷积核就使用了fp16;如果你想手动对某个算子设置精度,可以用该算子的to_float(mstype.float16)这个方法 比如: conv2d=Conv2d() conv2d.to_float(mstype.float16) 这样就可以了
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。