如何加载 caffe 模型并转换为 numpy 数组?

2024-04-29

我有一个 caffemodel 文件,其中包含 ethereon 的 caffe-tensorflow 转换实用程序不支持的层。我想生成我的咖啡模型的 numpy 表示。

我的问题是,如何将 caffemodel 文件(我还有 prototxt,如果有用的话)转换为 numpy 文件?

附加信息:我安装了 python、带有 python 接口的 caffe 等。我显然对咖啡没有经验。


这是一个很好的函数,可以将 caffe net 转换为 Python 字典列表,因此您可以对它进行 pickle 并以任何您想要的方式读取它:

import caffe

def shai_net_to_py_readable(prototxt_filename, caffemodel_filename):
  net = caffe.Net(prototxt_filename, caffemodel_filename, caffe.TEST) # read the net + weights
  pynet_ = [] 
  for li in xrange(len(net.layers)):  # for each layer in the net
    layer = {}  # store layer's information
    layer['name'] = net._layer_names[li]
    # for each input to the layer (aka "bottom") store its name and shape
    layer['bottoms'] = [(net._blob_names[bi], net.blobs[net._blob_names[bi]].data.shape) 
                         for bi in list(net._bottom_ids(li))] 
    # for each output of the layer (aka "top") store its name and shape
    layer['tops'] = [(net._blob_names[bi], net.blobs[net._blob_names[bi]].data.shape) 
                      for bi in list(net._top_ids(li))]
    layer['type'] = net.layers[li].type  # type of the layer
    # the internal parameters of the layer. not all layers has weights.
    layer['weights'] = [net.layers[li].blobs[bi].data[...] 
                        for bi in xrange(len(net.layers[li].blobs))]
    pynet_.append(layer)
  return pynet_
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何加载 caffe 模型并转换为 numpy 数组? 的相关文章

随机推荐

  • 为什么我不能声明对可变对象的引用? (“引用不能声明为可变的”)

    假设我们有一个test cpp如下 class A class B private A mutable a 汇编 gt gcc test cpp test cpp 6 20 error reference a cannot be decla
  • 相对于父元素的边框框调整子元素的大小

    如果我以百分比设置子元素的大小 则大小将相对于父元素计算内容框 http www w3schools com css css boxmodel asp 独立于我已经设置了它的事实box sizing财产给border box 所以如果我有这
  • 初始化影子变量

    标准中是否有任何内容定义从它隐藏的变量初始化变量 例如 int i 7 int i i Visual Studio 2013 允许这样做而不发出警告并按预期工作 内在i变量是 7 然而 Clang 和 GCC 给我一个警告 关于从自身初始化
  • 多次发生 Web 服务错误

    在许多机器 使用 Asp net 1 和 2 上 我们看到以下带有随机文件名的错误 使用 dll每次我们尝试进行 Web 服务调用时都会生成此扩展名 过去我们不得不重新安装asp net这似乎已经解决了问题 然而 有一次我们尝试获取命令提示
  • 序列化/反序列化 LinkedHashMap (android) java

    所以我想将 LinkedHashMap 传递给意图 SEND THE MAP Intent singlechannel new Intent getBaseContext singlechannel class singlechannel
  • CSS 中 img 上的 box-shadow

    是否可以在CSS中为img标签添加阴影 我尝试过 但似乎不起作用 我是正确的还是我的代码搞砸了 CSS image carousel img padding right 14px display block float left box s
  • 在 Databricks 中的 pyspark 数据帧上下载 punkt 时出现 NLTK 查找错误

    我试图通过对 Databricks 中的 pyspark 数据框应用余弦相似度来查找文本列 标题 标题 的相似性 我的函数称为 cosine sim udf 为了能够使用它 我必须进行第一次 udf 转换 将函数应用于 df 后出现查找错误
  • 提升解析器中的 Spirit 段错误

    我一直在尝试将我在本科编译器中编写的一些 lex 和 yacc 代码转换为精神代码以学习精神 我发现了一个我似乎无法弄清楚的段错误 我这样写了词法分析器 namespace lex boost spirit lex enum Tokens
  • 字符串包含相同的字符但仍然不同[重复]

    这个问题在这里已经有答案了 我正在尝试读取一个 txt 文件并使用每个句子作为团队的名称 同时使用该名称查找另一个 txt 文件以获取其内容 所有 txt 文件都位于我的资产文件夹的根目录中 第一个 txt 文件工作正常 我使用assetm
  • 更窄的类型不能分配给其他类型

    有两种类型 type ExcludeString
  • 如何计算 MySQL 中日期的平均值?

    如何在 MySQL 中计算日期之间的平均值 我对时间值 小时和分钟更感兴趣 在桌子上有 date one datetime date two datetime 执行如下查询 SELECT AVG date one date two FROM
  • UIVisualEffectView 无法在 iPhone 6 上运行

    看来UIVisualEffectView在 iPhone 6 6S 上运行时不会模糊背景 我只在网上看到一个人提到过这一点苹果开发者论坛 https forums developer apple com thread 16754 但这里什么
  • 使用存储库模式的 ASP.NET MVC

    目前 我在所有操作中使用 EF 并直接使用其数据上下文 但自从我开始阅读有关松散耦合和可测试性的内容后 我认为这不是最好的方法 在开始重构所有当前代码之前 我试图了解所有的优点和缺点 问题一 考虑到每个实体都需要自己的存储库 因此必须设置自
  • 弗雷格相当于哈斯克尔的“交互”函数是什么?

    我尝试从在 Frege 中运行的现实世界 Haskell 中获取字数示例 main interact wordCount where wordCount input show length lines input n 但我得到 can t
  • 通过套接字发送公钥的安全方法

    通过套接字向另一个用户发送 RSA PublicKey 的安全方法是什么 我正在考虑将密钥导出到 ByteQueue 并将字节数组发送给用户 他可以在其中再次构造公钥 或者这是否会泄露可能被滥用的信息 Generate keys AutoS
  • RichFaces ExtendedTableDataModel:对列进行排序检索所有行

    我们使用 ExtendedTableDataModel 进行分页 这样做是为了使用 Hibernate 检索一组结果 并在请求另一个页面时加载下一组结果 一切正常 但如果我们在 rich dataTable 中使用 rich column
  • 将命令行参数传递给 SML 脚本

    如何将命令行参数传递给 SML 脚本 我知道有一个CommandLine arguments 正确类型的函数 unit gt string list 但像这样调用解释器 sml script name sml an argument ano
  • Python elasticsearch DSL 聚合/每个文档嵌套值的度量

    我试图找到 2 级嵌套中的最小值 每个文档单独的最小值 到目前为止 我能够进行聚合 计算搜索结果中所有嵌套值的最小值 但无需按文档进行分隔 我的示例架构 class MyExample DocType myexample id Intege
  • 使用 UIAppearance API 自定义 UIBarButtonSystemItem 的色调颜色

    我知道我可以定制UIBarButtonItem文本通过 setTitleTextAttributes forState 还有一种方法可以自定义UITabBar图标通过 setSelectedImageTintColor 有没有办法自定义色调
  • 如何加载 caffe 模型并转换为 numpy 数组?

    我有一个 caffemodel 文件 其中包含 ethereon 的 caffe tensorflow 转换实用程序不支持的层 我想生成我的咖啡模型的 numpy 表示 我的问题是 如何将 caffemodel 文件 我还有 prototx