我正在研究tensorflow中的对象检测模型。我有一个文件(char *)
:
model.py
我在from PIL import Image
import cv2
import numpy as np
import tensorflow as tf
from .squeezenet import SqueezeNet
save_path = "sqnet/squeezenet.ckpt"
sess = tf.Session()
model = SqueezeNet(save_path=save_path, sess=sess)
class Finder(object):
def __init__(self, image_path):
self.image_path = image_path
def predict(self):
image = process(self.image_path)
ans = sess.run(model.classifier, feed_dict={model.image:
image})
return ans
def process(path):
image = Image.open(path)
# image.show()
image = np.array(image)
image = cv2.resize(image, dsize=(224, 224),
interpolation=cv2.INTER_CUBIC)
image = image.reshape((1, 224, 224, 3))
#print(image.shape)
#img = Image.fromarray(image, 'RGB')
return image
image_path = "/home/jatin/ai.jpeg"
object_detector = Finder(image_path)
ans = object_detector.predict()
print(np.argmax(ans))
sess.close()
文件旁边有一个名为sqnet
的文件夹,其中有model.py
文件。但是运行此命令会出现错误:
InvalidArgumentError(请参阅上面的回溯):不成功 TensorSliceReader构造函数:无法获取匹配的文件 sqnet / squeezenet.ckpt:找不到:sqnet;没有这样的文件或目录。
可能是什么问题?
答案 0 :(得分:0)
在我看来,这是一个简单的IO错误。您是否尝试过使用绝对路径?
save_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'sqnet', 'squeezenet.ckpt')