使用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.代码

下载:caffe2learning

Caffe2(2)----Eclipse环境中使用Caffe2的更多相关文章

  1. 如何将其它javaweb项目变成可以成功在自己eclipse环境中运行的javaweb项目?

    说明:此文档仅适用于以下两种情况     (1)myeclipse项目需要在eclipse环境中运行     (2)eclipse项目,但是无法在自己的电脑eclipse环境中运行     注意:以下 ...

  2. 利用Continuous Testing实现Eclipse环境自动单元测试

    当你Eclipse环境中修改项目中的某个方法时,你可能由于各种原因没有运行单元测试,结果代码提交,悲剧就可能随之而来. 所幸infinitest(http://infinitest.github.io ...

  3. 利用Continuous Testing实现Eclipse环境自己主动单元測试

    当你Eclipse环境中改动项目中的某个方法时,你可能因为各种原因没有执行单元測试,结果代码提交,悲剧就可能随之而来. 所幸infinitest(http://infinitest.github.io ...

  4. Eclipse集成环境中Android SDK下载及更新失败解决方案

    由于公司新项目比较忙,有好长一段时间没碰Android开发咯! 近期闲来在网上下了个开源的应用想拿来自己学习下其中的源码及整体设计,当我把下下来的项目导入Eclipse中时,报如下警告: 原因是我本地 ...

  5. 方案:在Eclipse IDE 中搭建Python开发环境

    Eclipse是一款功能强大的IDE,Python是一种功能强大的计算机语言,但是Python的IDE环境确实很缺乏,如果在强大的Eclipse中添加Python开发环境,那样就很完美了. 在这里,我 ...

  6. eclipse环境Dynamic web module version 3.1版本的进步,简化Dynamic web object 中Servlet类的配置,不用web.xml配置<Servlet>

    eclipse环境Dynamic web module version 3.1版本之前,Dynamic web object 中Servlet类的配置,要在web.xml 配置<Servlet& ...

  7. spring练习,在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象

    相关 知识 >>> 相关 练习 >>> 实现要求: 在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXm ...

  8. sping练习,在Eclipse搭建的Spring开发环境中,使用工厂方式创建Bean对象,将创建的Bean对象输出到控制台。

    相关 知识 >>> 相关 练习 >>> 实现要求: 在Eclipse搭建的Spring开发环境中,使用工厂方式创建Bean对象,将创建的Bean对象输出到控制台.要 ...

  9. eclipse环境搭建

    百度经验http://jingyan.baidu.com/article/bea41d437a41b6b4c51be6c1.html 1.JAVA JDK 2.Andriod SDK eclipse里 ...

随机推荐

  1. leetcode之 两数之和

    # -*- coding: utf-8 -*- # @Time : 2018/9/27 21:41 # @Author : cxa # @File : twonum.py # @Software: P ...

  2. CentOS系统时间与现在时间相差8小时解决方法

    很多网友在安装完CentOS系统后发现时间与现在时间相差8小时,这是由于我们在安装系统的时选择的时区是上海,而CentOS默认bios时间是utc时间,所以时间相差了8小时.这个时候的bios的时间和 ...

  3. Gitlab权限管理

    使用管理员登陆gitlab(版本为8.9)创建一个组 给用户授权 创建新用户 再创建两个dev1和dev2 然后再到项目界面授权给pm授权master 创建库(事先先建一个java组) 设置权限 创建 ...

  4. 十七、springboot配置FastJson为Spring Boot默认JSON解析框架

    前提 springboot默认自带json解析框架,默认使用jackson,如果使用fastjson,可以按照下列方式配置使用 1.引入fastjson依赖库: maven: <dependen ...

  5. mariadb/mysql使用Navicat连接报错

    [问题1] 使用Navicat连接服务器的mariadb/mysql时报错 access denied for user root@192.168.xx.xx(using password:yes) ...

  6. ArcMap2SLD添加中文支持

    首先,你可以从作者提供的链接下载ArcMap2SLD.zip(支持ArcMap10.2) 1.打开LUT_sld_mapping_file.xml文件(上传文件中已经修改)修改文件<LUT> ...

  7. python基础-类的属性(类属性,实例属性,私有属性)

      一:类的属性 类的属性分为:类属性(公有属性),实例属性和私有属性. 1)类属性(公有属性(静态字段): 类定义时直接指定的属性(不是在__init__方法中),可以通过类名直接访问属性,并且保存 ...

  8. tf.summary.merge_all()

    1.自动管理模式 summary_writer = tf.summary.FileWriter('E:/data/tensorflow-master/1.Cnn_Captcha/result/', f ...

  9. php-fpm和cgi,并发响应的理解以及高并发和多线程的关系

    首先搞清楚php-fpm与cgi的关系 cgi cgi是一个web server与cgi程序(这里可以理解为是php解释器)之间进行数据传输的协议,保证了传递的是标准数据. php-cgi php-c ...

  10. redis tutorail

    命令 set     get    incr expire  秒  ttl    -1 不会过期 list  : lpush  rpush  lpop  rpop   lrange   llen se ...