Caffe2(2)----Eclipse环境中使用Caffe2
使用IDE开发深度学习的应用,可以事半功倍,Caffe2已经全面支持Python,这里介绍如何在Ubantu14.04下,利用EclipseCaffe2的二次开发或应用。
1.安装eclipse
具体请参考:ROS知识(6)----基于Eclipse开发
2.安装eclipse的插件PyDev
具体请参阅:几个常用的Eclipse插件
3建立PyDev新项目
a.点击"File->New->Other...",弹出对话框,选择“PyDev Project”,如下图所示:
b.选择下一步,弹出如下对话框,在“Project Name”中输入项目名称,然后点击"Finish"。
c.设置caffe2的环境依赖
鼠标右击项目,选择“property”,弹出如下对话框,并选择“PyDev-Interpreter/Grammar”
d.点击“New Folder”添加两个Python的路径,分别为:
/usr/local/caffe2/python
/usr/local
e.添加后如下图所示,点击”Apply“,然后点击”OK“退出。
f.重启eclipse,重新导入项目。
4.测试Caffe2
a.在项目的src下添加python文件test1.py,然后添加如下代码
from caffe2.python import workspace, model_helper,cnn import numpy as np data_dim = 1000 label_dim = 10 print("Build Net") # Create the input data data = np.random.rand(label_dim, data_dim).astype(np.float32) # Create labels for the data as integers [0, 9]. label = (np.random.rand(label_dim) * 10).astype(np.int32) workspace.FeedBlob("data", data) workspace.FeedBlob("label", label) # Create model using a model helper m = cnn.CNNModelHelper(name="my first net") fc_1 = m.FC("data", "fc1", dim_in=data_dim, dim_out=10) pred = m.Sigmoid(fc_1, "pred") [softmax, loss] = m.SoftmaxWithLoss([pred, "label"], ["softmax", "loss"]) m.AddGradientOperators([loss]) workspace.RunNetOnce(m.param_init_net) workspace.CreateNet(m.net) # Run 100 x 10 iterations print("Start to Train") for j in range(0, 10): data = np.random.rand(label_dim, data_dim).astype(np.float32) label = (np.random.rand(label_dim) * 10).astype(np.int32) workspace.FeedBlob("data", data) workspace.FeedBlob("label", label) workspace.RunNet(m.name, 10) # run for 10 times print("%d:%f"%(j, workspace.FetchBlob("loss"))) print("End Training")
b.点击工具栏的运行或调试按钮,如果一切ok,会输出一下的迭代信息:
Build Net Start to Train 0:2.324265 1:2.382756 2:2.357759 3:2.298997 4:2.331089 5:2.285640 6:2.336110 7:2.274807 8:2.366172 9:2.337986 End Training
5.代码
Make Change - Focus on Computer Vision and Pattern Recognition
版权声明:本文为博主原创文章,未经博主允许不得转载
版权声明:本文为博主原创文章,未经博主允许不得转载