微调 讨论区


#61

载入时候指定root就行


#62

我用fine-tuning例子中的代码跑自己的数据,发现gpu的使用率很低,一会儿为30%,一会儿变为0%,这是什么原因导致的呢?


#63

你是什么gpu?可能卡IO了?


#64

GPU是GTX 1080 TI。应该不是IO卡的问题,我用incubator-mxnet/example/image-classification里面的fine-tune.py时候,GPU使用率一直都保持在95%以上。所有的图像都打包到rec文件中。


#65

如果卡IO该怎么解决?


#66

“在源数据 S上训练一个神经网络。
砍掉它的头,将它的输出层改成适合目标数据 S的大小“

源数据S 和目标数据S,在英文版教程里是source task S,target task T。请问第二句是翻译时候的笔误吗?


#67

你好 我也遇到了这个问题 请问该如何解决呢?


#68

可以使用

finetune_net.collect_params().save_params(param_file)

来保存。


#69

好的 谢谢 应该是
finetune_net.collect_params().save()


#70

使用load载入你遇到问题了吗?直接使用load_params()和collect_params().load()都报错了
collect_params().load()
AssertionError: Parameter resnetv20_dense0_weight is missing in file res18finetune.param
load_params()
AssertionError: Parameter batchnorm0_gamma is missing in file res18finetune.param

@fiercex @mli @szha


#71

使用

collect_params().load()

来载入没有遇到问题哦。是不是需要检查一下网络结构的定义?!


#72

你好 请问你是直接这样载入的吗?
image
image
@mylxiaoyi


#73

你好,我就是这样用的哦。

finetune_net.collect_params().load(‘labels-25-train-0.993-val-0.952.params’, ctx)


#74

:weary:很奇怪啊。。。为什么我的报错了。。。。。
你加载参数之前呢?从model zoo里载入模型后还执行别的操作了吗?
@mylxiaoyi


#75

好像你的参数文件里的模型和你的模型结构不一样,你看一下你的参数保存的代码,如果你之前多次构建过模型,那你的模型前缀应该不一样,你可以用nd读取模型参数nd.load(files),看看里面的各个层的名字,再对比一下你的模型层的名字


#76

参照官方给的Fine-tune,用自己的数据集训练,出现了下面错误 :

1 . import utils 这一行报错,说没有找到该模块,
查看了下用from mxnet.gluon import utils算是解决 但是utils.show_images()函数貌似没有 - -

  1. from mxnet.gluon.model_zoo import vision as models
    pretrained_net = models.resnet50_v2(pretrained_net=True)

报错:TypeError: init() got an unexpected keyword argument ‘pretrained_net’

新人学习,还望大佬解答

我环境: anaconda2 : py2.7 jupyter开发 CentOS7.3-64bit


#77

好的 这是训练代码
image
这是加载模型代码
image
感觉没什么问题啊


#78

应该是模型前缀的问题,这个在论坛里也有人反馈过。你可以试试你的加载模型的模型构建代码和训练模型的一样,也就是

pretrained_net = models.resnet18_v1()
finetune_net = models.resnet18_v1(class=2)
finetune_net.features = pretrained_net.features

finetune_net.collect_params().load()

#79

保证模型前缀一致,比如

pretrained_net = models.resnet18_v1(pretrained=True, prefix=‘res_’)
finetune_net = models.resnet18_v1(classes=2, prefix=‘res_’)

这样可以直接用用finetune_net.save_params()和finetune_net.load_params()加载和保存模型
要使用net.collect_params.save()和net.collect_params.load(),需要保证保存和加载的模型前缀定义一致


#80

可以试一下这个,大佬们推荐使用 save_params 和 load_params