train = 'C:\ProgramData\Anaconda3\animal train'
test = 'C:\ProgramData\Anaconda3\animal test'
lr = 0.001
def label_image(img):
word_label = img.split('.')[-3]
if word_label == "cat": return [1,0]
elif word_label == "dog": return [0,1]
def create_train_data():
training_data = []
for img in tqdm(os.listdir(train)):
label = label_img(img)
path = os.path.join(train,img)
img = cv2.resize(cv2.imread(path,cv2.IMREAD_GRAYSCALE),(50,50))
training_data.append([np.array(img), np.array(label)])
shuffle(training_data)
return(training_data)
我是tensorflow的新手,这是我的第一个项目(Cat vs Dog Image Classification)
能否详细解释一下create_train_data()函数究竟在做什么?
OpenCV中的图像读取如下img = cv2.imread(“path / to / image”,flags)
现在“path / to / image”是您的工作目录或绝对路径。
你的代码中的path = os.path.join(train,img)正在创建绝对路径。我认为既然你在工作目录,只是直接阅读图像也应该在这种情况下工作。