zoukankan      html  css  js  c++  java
  • 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.代码

    下载:caffe2learning

  • 相关阅读:
    HDOJ 4747 Mex
    HDU 1203 I NEED A OFFER!
    HDU 2616 Kill the monster
    HDU 3496 Watch The Movie
    Codeforces 347A A. Difference Row
    Codeforces 347B B. Fixed Points
    Codeforces 372B B. Hungry Sequence
    HDU 1476 Sudoku Killer
    HDU 1987 How many ways
    HDU 2564 词组缩写
  • 原文地址:https://www.cnblogs.com/cv-pr/p/6925349.html
Copyright © 2011-2022 走看看