新手试运行了一个 caffe 的 Python 代码,出现这个错误是怎么回事
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了新手试运行了一个 caffe 的 Python 代码,出现这个错误是怎么回事相关的知识,希望对你有一定的参考价值。
参考技术A 完全的 caffe 新手,研究了一天的 caffe ,虽然糊里糊涂的, GitHub 上找了个项目: https://github.com/BestiVicto... 在网上找了个 Python 代码照猫画虎写成如下:import numpy as np
import matplotlib.pyplot as plt
caffe_root = '/opt/caffe/'
import sys
sys.path.insert(0, caffe_root + 'python')
import caffe
MODEL_FILE = caffe_root + 'ILGnet/deploy.prototxt'
PRETRAINED = caffe_root + 'ILGnet/ILGnet-AVA2.caffemodel'
IMAGE_FILE = caffe_root+'examples/images/cat.jpg'
mean_file=caffe_root + 'ILGnet/AVA2_mean.npy'
caffe.set_mode_cpu()
net = caffe.Classifier(MODEL_FILE, PRETRAINED,
mean=np.load(mean_file).mean(1).mean(1),
channel_swap=(2,1,0),
raw_scale=255,
image_dims=(227, 227))
input_image = caffe.io.load_image(IMAGE_FILE)
plt.imshow(input_image)
prediction = net.predict([input_image])
plt.plot(prediction[0])
print 'predicted class:', prediction[0].argmax()
然后就出现: F0423 12:33:29.282009 172 insert_splits.cpp:35] Unknown bottom blob 'label' (layer 'loss1/loss', bottom index 1)
完全新手,估计代码错的很离谱,大家就别嘲笑了哈,想问一下这个如果 Python 实现的话该怎样写? 希望能得到解答,真诚谢谢~
ModuleNotFoundError:没有名为'caffe'的模块
我是python的新手...试图在Windows 10中的Python 3.6.8中运行一些代码当我执行以下代码时,我得到了ModuleNotFoundError:没有名为“ caffe”的模块错误
已安装
pip install caffe-ssd-x86
此后我遇到以下错误
Traceback (most recent call last):
File "C:clean_water_ai-mastermycodecode.py", line 10, in <module>
import caffe
File "C:UsersElaAppDataLocalProgramsPythonPython36libsite-packagescaffe\__init__.py", line 1, in <module>
from .pycaffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, RMSPropSolver, AdaDeltaSolver, AdamSolver
File "C:UsersElaAppDataLocalProgramsPythonPython36libsite-packagescaffepycaffe.py", line 13, in <module>
from ._caffe import Net, SGDSolver, NesterovSolver, AdaGradSolver,
ModuleNotFoundError: No module named 'caffe._caffe'
代码如下,分享您对解决此问题的意见
此代码是https://www.hackster.io/clean-water-ai/clean-water-ai-e40806#toc-step-4--collecting-data-for-ai-6中的净水AI代码应用程序的一部分>
import os
import glob
import random
import numpy as np
import cv2
import caffe
from caffe.proto import caffe_pb2
import lmdb
#Size of images
IMAGE_WIDTH = 227
IMAGE_HEIGHT = 227
def transform_img(img, img_width=IMAGE_WIDTH, img_height=IMAGE_HEIGHT):
#Histogram Equalization
img[:, :, 0] = cv2.equalizeHist(img[:, :, 0])
img[:, :, 1] = cv2.equalizeHist(img[:, :, 1])
img[:, :, 2] = cv2.equalizeHist(img[:, :, 2])
#Image Resizing
img = cv2.resize(img, (img_width, img_height), interpolation = cv2.INTER_CUBIC)
return img
def make_datum(img, label):
#image is numpy.ndarray format. BGR instead of RGB
return caffe_pb2.Datum(
channels=3,
width=IMAGE_WIDTH,
height=IMAGE_HEIGHT,
label=label,
data=np.rollaxis(img, 2).tostring())
train_lmdb = 'C:/clean_water_ai-master/mycode/face_training/input/train_lmdb'
validation_lmdb = 'C:/clean_water_ai-master/mycode/face_training/input/validation_lmdb'
os.system('rm -rf ' + train_lmdb)
os.system('rm -rf ' + validation_lmdb)
train_data = [img for img in glob.glob("../input/train/*jpg")]
test_data = [img for img in glob.glob("../input/test1/*jpg")]
#Shuffle train_data
random.shuffle(train_data)
print ('Creating train_lmdb')
in_db = lmdb.open(train_lmdb, map_size=int(1e12))
with in_db.begin(write=True) as in_txn:
for in_idx, img_path in enumerate(train_data):
if in_idx % 6 == 0:
continue
img = cv2.imread(img_path, cv2.IMREAD_COLOR)
img = transform_img(img, img_width=IMAGE_WIDTH, img_height=IMAGE_HEIGHT)
if 'yeast' in img_path:
label = 0
else:
label = 1
datum = make_datum(img, label)
in_txn.put('{:0>5d}'.format(in_idx), datum.SerializeToString())
print ('{:0>5d}'.format(in_idx) + ':' + img_path)
in_db.close()
print ('
Creating validation_lmdb')
in_db = lmdb.open(validation_lmdb, map_size=int(1e12))
with in_db.begin(write=True) as in_txn:
for in_idx, img_path in enumerate(train_data):
if in_idx % 6 != 0:
continue
img = cv2.imread(img_path, cv2.IMREAD_COLOR)
img = transform_img(img, img_width=IMAGE_WIDTH, img_height=IMAGE_HEIGHT)
if 'yeast' in img_path:
label = 0
else:
label = 1
datum = make_datum(img, label)
in_txn.put('{:0>5d}'.format(in_idx), datum.SerializeToString())
print ('{:0>5d}'.format(in_idx) + ':' + img_path)
in_db.close()
print ('
Finished processing all images')
我是python的新手...试图在Windows 10中的Python 3.6.8中运行某些代码,我执行以下代码,我得到了ModuleNotFoundError:没有名为'caffe'的模块错误,所以安装了pip install ...] >
答案
caffe
模块不是Python标准发行版的一部分。您需要单独安装。大多数时候,您应该可以通过在终端中运行pip install caffe
来执行此操作。希望对您有所帮助!
以上是关于新手试运行了一个 caffe 的 Python 代码,出现这个错误是怎么回事的主要内容,如果未能解决你的问题,请参考以下文章
ModuleNotFoundError:没有名为'caffe'的模块