前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Caffe2 - (五)Workspace Python API

Caffe2 - (五)Workspace Python API

作者头像
AIHGF
发布2019-02-18 10:16:46
8950
发布2019-02-18 10:16:46
举报
文章被收录于专栏:AIUAI

Caffe2 - Workspace Python API

Module caffe2.python.workspace.

Demo:

代码语言:javascript
复制
from caffe2.proto.caffe2_pb2 import NetDef
from caffe2.python import workspace

init_net = NetDef()
init_net.ParseFromString(open(protobuf_data))
predict_net = NetDef()
predict_net.ParseFromString(open(protobuf_data))
print predict_net.name //would reveal the name field

workspace.CreateNet(init_net)
workspace.CreateNet(predict_net)
workspace.RunNet(predict_net)

1. CreateNet()

定义:

代码语言:javascript
复制
def workspace.CreateNet(net_def, input_blobs):

如果未给定输入 blobs,则创建空的 net.

2. FeedBlob()

定义:

代码语言:javascript
复制
def workspace.FeedBlob(name, arr, device_option=None): 

将 blob 送入(Feed into) workspace.

  • 输入: name:blob name arr:TensorProto object 或 numpy array object device_option:数据送入 workspace 的 device 选项
  • 输出: 返回值是 True 或 False,表示是否成功将 blob 送入 workspace.

3. FetchBlob()

定义:

代码语言:javascript
复制
def FetchBlob(name):

从 workspace 中拉取 blob.

  • 输入: name:blob name,一般为字符串形式.
  • 输出: 如果拉取成功,返回值是 array 或 string.

4. FetchBlobs()

定义:

代码语言:javascript
复制
def FetchBlobs(names):

从 workspace 中拉取多个 blobs 列表.

  • 输入: names:blobs names,一般是字符串形式.
  • 输出: 拉取的 blobs 列表.

5. GetNameScope()

定义:

代码语言:javascript
复制
def GetNameScope():

返回当前 namescope 字符串,用于拉取 blobs.

6. InferShapesAndTypes()

定义:

代码语言:javascript
复制
def InferShapesAndTypes(nets, blob_dimensions=None):

判断特定 nets 的 shapes 和 types(类型).

  • 输入: nets:nets list blob_dimensions:由 blobs 和其 dimensions 组成的字典. 默认是,workspace blobs.
  • 输出: 返回根据 blob name 键值的 (shapes,types) 字典的元组.

7. RunNet()

定义:

代码语言:javascript
复制
def RunNet(name, num_iter=1, allow_fail=False):

运行给定 net.

  • 输入: name: net 名,或 net reference. num_iter:运行的迭代次数 allow_fail:if True, does not assert on net exec failure but returns False
  • 输出: 返回 True 或 exception.

8. RunNetOnce

定义:

代码语言:javascript
复制
def workspace.RunNetOnce(net):

训练 net 一次.

9. RunOperatorOnce

定义:

代码语言:javascript
复制
def workspace.RunOperatorOnce(operator):

执行单个 operator.

10. RunOperatorsOnce

定义:

代码语言:javascript
复制
def workspace.RunOperatorOnce(operators):

执行多个 operators.

11. RunPlan

定义:

代码语言:javascript
复制
def workspace.RunPlan(plan_or_step):

构建多个执行步骤计划,以运行多个不同的网络.

12. StartMint()

定义:

代码语言:javascript
复制
def StartMint(root_folder=None, port=None):

启动 Mint 实例.

13. StopImmediate()

定义:

代码语言:javascript
复制
def StopImmediate():

停止即时模式运行. Stops an immediate mode run.

14. StringifyProto()

定义:

代码语言:javascript
复制
def StringifyProto(obj):

协议缓冲区对象(protocol buffer object)字符串化.

  • 输入: obj:protocol buffer object,或包含一个 Proto() 函数的 Pycaffe2 object.
  • 输出: 返回 String:output protobuf string.
  • Raises: AttributeError: if the passed in object does not have the right attribute.

15. StringifyBlobName

定义:

代码语言:javascript
复制
def workspace.StringifyBlobName(name):

返回 blob name.

16. StringifyNetName

定义:

代码语言:javascript
复制
def workspace.StringifyNetName(name):

返回 net name.

Reference

[1] - Workspace Class

[2] - workspace.py

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018年01月02日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Caffe2 - Workspace Python API
    • 1. CreateNet()
      • 2. FeedBlob()
        • 3. FetchBlob()
          • 4. FetchBlobs()
            • 5. GetNameScope()
              • 6. InferShapesAndTypes()
                • 7. RunNet()
                  • 8. RunNetOnce
                    • 9. RunOperatorOnce
                      • 10. RunOperatorsOnce
                        • 11. RunPlan
                          • 12. StartMint()
                            • 13. StopImmediate()
                              • 14. StringifyProto()
                                • 15. StringifyBlobName
                                  • 16. StringifyNetName
                                    • Reference
                                    领券
                                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档