caffe——使用python接口训练

博客内容讲述了在训练Caffe模型时遇到的导入问题,通过修改train.py文件,解决了导入错误,成功运行了MyNet项目的训练过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    在ubuntu下编译了原版Caffe,后来又下载便宜了另一个基于Caffe的项目(MyNet)。所以Caffe和MyNet两个文件夹都处于/home/philochan/目录下,按照下面代码利用caffe的python借口对模型进行训练,会出现...TransformationParameter(LayerParameter) has no filed name "..."的错误:
import sys
sys.path.append('/home/philochan/MyNet/python')
import caffe
caffe.set_device(1)
caffe.set_mode_gpu()
solver=caffe.SGDSolver('/home/philochan/MyNet/model/solver.prototxt')
solver.net.copy_from('VOC2012.caffemodel')
solver.solve()

    想了想,觉得可能是导入的caffe模块不正确,我需要的是MyNet项目下便宜好的caffe,但是可能导入了原版的caffe,所以修改了以下train.py,改成下面代码,成功解决了has no filed named ""的错误:

import sys
sys.path.insert(0,'/home/philochan/MyNet/python')
import caffe
caffe.set_device(1)
caffe.set_mode_gpu()
solver=caffe.SGDSolver('/home/philochan/MyNet/model/solver.prototxt')
solver.net.copy_from('VOC2012.caffemodel')
solver.solve()
    总结:在使用caffe的python接口时,头四行代码还是
import sys
caffe_root = ''
sys.path.insert(0,caffe_root + 'python')
import caffe
    关键是使用 sys.path.insert(0, path)而不要用sys.path.append(path),因为sys.path实际是个列表,导入模块搜索路径时会按sys.path的顺序搜索,如果sys.path保存的某个位置也包含了同样名称的模块,就会导致一些莫名其妙的错误。而sys.path.insert(0,path)会将路径插入到这个列表的第一个位置,可以保证导入的模块是程序需要的。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值