gpt4 book ai didi

python - 在 Python 中没有安装 caffe 的情况下从 .caffemodel 中提取权重

转载 作者:太空宇宙 更新时间:2023-11-03 12:31:43 27 4
gpt4 key购买 nike

有没有一种相对简单的方法可以在 Caffe Zoo WITHOUT CAFFE(也不是 pyCaffe)中从众多预训练模型中提取 Python 中的权重?即,将 .caffemodel 解析为 hdf5/numpy 或 Python 可以读取的任何格式?

我找到的所有答案都使用带有 caffe 类或 Pycaffe 的 C++ 代码。我查看了 pycaffe 的代码,看起来您真的需要 caffe 来理解二进制文件是唯一的解决方案吗?

最佳答案

我现在必须解决那个确切的问题。假设您有一个 .caffemodel(二进制原型(prototype)格式),事实证明它非常简单。

  1. 下载最新caffe.proto

  2. 编译成python库:协议(protocol) --python_out=.咖啡机原型(prototype)

  3. 导入解析

下面是示例代码

import numpy as np
import sys, os
import argparse
import caffe_pb2 as cq

f = open('VGG_ILSVRC_16_layers.caffemodel', 'r')
cq2 = cq.NetParameter()
cq2.ParseFromString(f.read())
f.close()
print "name 1st layer: " + cq2.layers[0].name

为我生产:

name 1st layer: conv1_1

显然,您可以从对象中提取任何您想要的东西。我只是打印了第一层的名称作为示例。此外,您的模型可能在图层数组(已弃用)或图层(无“s”)数组中表达图层,但您明白了要点。

关于python - 在 Python 中没有安装 caffe 的情况下从 .caffemodel 中提取权重,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37572948/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com