Windows 版 Caffe 中的未知图层类型(裁剪)

2023-11-26

我想使用以下卷积神经网络:

http://lmb.informatik.uni-freiburg.de/people/ronneber/u-net/

与咖啡构建https://github.com/BVLC/caffe/tree/windows

适用于 Windows 10,支持 Visual Studio 2013、CUDA 7.5、cudNN 4 和 python。

现在,当我致电提供的两个网络中的任何一个时

net = caffe.Net('xyz.prototxt', 'xyz.caffemodel', caffe.TEST)

我收到以下错误:

 Error parsing text-format caffe.NetParameter: 43:85: Unknown enumeration value of "CROP" for field "type".

网络第 43 行如下所示:

layers { bottom: 'd3c' bottom: 'u3a' top: 'd3cc'  name: 'crop_d3c-d3cc'  type: CROP }

我在网上查了一下,有些人似乎遇到了同样的错误信息。但是,我找不到任何解决方案。

我现在的问题是:如何摆脱这个错误?

非常感谢帮助!

EDIT:

按照建议更改 .prototxt宋戴尔消除了这个错误,但导致了另一个错误:

[libprotobuf ERROR ..\src\google\protobuf\text_format.cc:274] Error parsing text-format caffe.NetParameter: 10:102: Message type "caffe.LayerParameter" has no field named "blobs_lr".

我通过替换解决了这个问题

blobs_lr: 1 weight_decay: 1 blobs_lr: 2 weight_decay: 0

with

 param {lr_mult: 1 decay_mult: 1} param {lr_mult: 2 decay_mult: 0}

在 .prototxt 中,按照建议here.

Thanks!


解决方案:

你应该修改net.prototxt from:

layers { ... type: CROP } to

layer { ... type: "Crop" }

同时,prototxt中其他层的参数也应修改为类似:

layer { ... type: "TypeString" },

and the TypeString可以从以下位置找到:

  1. 线路REGISTER_LAYER_CLASS(some_layer_name)在相关的some_layer_name_layer.cpp文件。例如,REGISTER_LAYER_CLASS(Data) in data_layer.cpp意味着TypeString应该Data当写入数据层时net.prototxt.
  2. REGISTER_LAYER_CREATOR(some_layer_name, GetSomeLayer) in layer_factory.cpp。例如,REGISTER_LAYER_CREATOR(Convolution, GetConvolutionLayer)意味着TypeString应该Convolution当写一个卷积层时net.prototxt.

Reason:

您的问题的原因是:您使用了旧的图层参数格式

layers { ... type: SOMELAYERNAME }.

这个格式来自V1LayerParameter in caffe.proto不支持一些较新的图层类型,包括crop layer.

您可以通过检查来确认这一点enum LayerType of V1LayerParameter不包括图层类型CROP.

为了避免此问题,您始终可以使用最新的格式:

layer { ... type: "TypeString" }

其中TypeString可以在上面提到的2个地方找到。


Edit 1

简单说一下:

一般来说,错误:

Error parsing text-format caffe.xxxParameter: ...

总是可以通过检查来解决xxx.prototxt文件使用在中声明的正确字段名称caffe.proto并为它们分配正确的值(通过检查字段类型及其值范围)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Windows 版 Caffe 中的未知图层类型(裁剪) 的相关文章

随机推荐

  • 如何在 Selenium Web Driver 中使用 SSL 证书?

    我在 Windows 7 上使用 Selenium Web 驱动程序 我正在尝试测试一个使用身份验证的网站 并且我需要使用 SSL 证书 当我在 Selenium 之外使用 Firefox 时 一切正常 但我注意到 Selenium 打开的
  • 无法使用 iOS 9.0 GM 在 Xcode 7.1 beta 上调试应用程序

    当我尝试在 iPad 上安装 iOS 9 0 GM 并使用 Xcode 7 1 Beta 7B60 运行我的应用程序时 出现以下错误 在此设备上启用开发时遇到错误 请尝试重新启动并重新连接设备 0xE8000076 这个问题有解决办法吗 苹
  • 版本控制如何工作?

    版本控制通常如何工作 它是否将 diff 文件保存为带有哈希值的跟踪以验证跟踪 查看Eric Sinks 关于版本控制的博客系列 此外 乔尔 斯波尔斯基写道Hg Init Mercurial 教程 这最终让我 了解 了分布式源代码控制的全部
  • 将表示为链表的两个大数相加,无需反转链表

    假设您有两个用链表表示的大数字 如何将它们相加并将结果存储在单独的链表中 例如 a 2 gt 1 gt 7 b 3 gt 4 result 2 gt 5 gt 1 您可以在不颠倒链表的情况下添加它们吗 伪代码 步骤1 遍历链表并将元素压入两
  • 在 numpy.correlate 中指定滞后

    Matlab互相关函数xcorr x y maxlags 有一个选项maxlag 返回滞后范围内的互相关序列 maxlags maxlags 纳比的numpy correlate N M mode 有三种模式 但没有一种模式允许我设置特定的
  • 如何使用 Python Pillow 定义模糊半径?

    我正在尝试模糊图像Pillow using 图像过滤器如下 from PIL import ImageFilter blurred image im filter ImageFilter BLUR 这工作得很好 只是它的设定半径对我来说太小
  • 获取未旋转的旋转矩形的边界

    我有一个已经应用了旋转的矩形 我想获得未旋转的尺寸 x y 宽度 高度 这是当前元素的尺寸 Bounds at a 90 rotation height 30 width 0 x 25 y 10 以下是旋转设置为无后的尺寸 Bounds a
  • Go mgo 包中的连接池

    文章中与 go 并发运行 mongodb 查询说 mgo DialWithInfo 创建一个会话 维护与 MongoDB 的套接字连接池 但是当我在文献记录函数的拨号信息我没有找到与我谈论池连接的内容 只有我在DialFunction Di
  • ES6 地图垫片如何工作

    根据我对文档的理解 here and here 需要一个对内存地址的引用才能工作 const foo const map new Map map set foo 123 Can only be done if memory address
  • 通过通用父类访问子类中的 Java 静态成员

    这似乎是一个新问题 但上次我使用 Java 时 该语言没有泛型 我有一个类层次结构 名称更改为尽可能通用 public abstract class AbstractBase public class ConcreateSubA exten
  • 没有主目录的用户的 SSH 公钥

    我正在运行 Mac OS X Leopard Server 并且创建了一个新用户 但没有为该用户指定主目录 是否可以让该用户使用公钥进行身份验证 我知道当用户does有一个它所在的主目录 ssh authorized keys 我不想为该用
  • 在Android清单中使用largeheap是一个好的实践吗?

    我正在发展NDK 它挂在Galaxy S3 为了测试我把android largeheap true in Manifest 然后就不存在挂起的问题了 这是一个很好的做法吗largeHeap true 谷歌是否有可能因为这个标签而拒绝我的构
  • 让 Migrate.exe 正常工作

    我一直在努力执行 EF Migrate exe 来工作 我的解决方案有几个项目 迁移和实体位于项目数据中 控制器和视图位于 Web 中 我尝试使用 migrate exe 但是我很难让第一个参数 程序集 被接受 文件说 程序集 指定包含该程
  • 在后台运行exe

    我尝试过以下方法 Start Process powershell ArgumentList C Program Files Prometheus io prometheus exe WindowStyle hidden Invoke Co
  • 使用动态对象的 MongoDB C# 驱动程序序列化

    我有一个模型 看起来像 public class Record public Record Created DateTime Now public string Id get set public string ApplicationId
  • 使用 Mongoose 从 Decimal128 中提取小数 - MongoDB

    我正在使用 Mongoose 在 Nodejs 中查询 Mongo 并尝试提取存储为 Decimal128 的多个字段的数值 然而 该值奇怪地包含在查询结果中 我不确定如何通过 Mongo 或 Mongoose 提取它 data date
  • unsigned long long 与 uint64_t 冲突? [复制]

    这个问题在这里已经有答案了 我们对某些类型参数使用模板专门化 例如 class my template class
  • 与 Spring Data JPA 保持一对一关系

    我有接下来的两个实体 它们之间具有 OneToOne 关系 Entity Table name tasks public class Task OneToOne mappedBy task cascade CascadeType PERSI
  • 当内部函数返回可能为“None”的“Union”时,如何避免类型错误?

    我在Python中遇到了一些关于联合 当然还有可选 的奇怪问题 也就是说 静态类型检查器似乎针对联合的所有成员而不是联合的成员测试属性 即看起来过于严格 例如 请考虑以下情况 import pandas as pd def test dum
  • Windows 版 Caffe 中的未知图层类型(裁剪)

    我想使用以下卷积神经网络 http lmb informatik uni freiburg de people ronneber u net 与咖啡构建https github com BVLC caffe tree windows 适用于