我刚从 Mac 切换到 Windows,在我的正确项目中,我正在编写一个 ML 程序来评估图片。
我将它们标记在 Excel 文件中,并且导入效果很好。但是,当我导入我的图片以将它们放入张量时,它不起作用。我列出了所有图片以确保我使用正确的路径并且它似乎工作正常。我什至将导入文件的名称更改为适合我的 dic 中的文件。我真的很难找到我的错误并希望这里有人可以帮助我解决这个问题!
import os
os.getcwd()
a='C:/Users/sunja/Documents/Daten/Bilddaten_zugeschnitten'
os.listdir(a)
'._1_2_18.jpg',
'._1_2_19.jpg',
'._1_2_20.jpg',
'._1_2_21.jpg',
'._1_2_22.jpg',
'._1_2_23.jpg',
'._1_2_24.jpg',
等等
import os
import shutil
import numpy as np
import pandas as pd
from sklearn.utils import shuffle
from openpyxl import load_workbook
import random
random.seed(40)
import numpy as np
np.random.seed(40)
import tensorflow as tf
import keras
from keras.models import Sequential
from keras.layers import Dense, Dropout, Activation, Flatten
from keras.layers import Convolution2D, MaxPooling2D
from keras.utils import np_utils
from keras.datasets import mnist
path_labels = 'C:/Users/sunja/Documents/Daten/Labels.xlsx'
#import label data and construct label data frame
workbook = load_workbook(path_labels)
features = []
labels = []
for row in range (2, workbook['Tabelle1' ].max_row+1):
cell_Bezeichnung = workbook ['Tabelle1']["{}{}".format('A', row) ].value
cell_Label = workbook['Tabelle1']["{}{}".format("B",row)].value
features.append('._'+str(cell_Bezeichnung)+'.jpg')
labels.append(str(cell_Label))
data = pd.DataFrame(data={'Datei': features, 'Label': labels})
data = shuffle(data)
data = data.reset_index(drop=True)
print(data.head())
Datei Label
0 ._1_2_22.jpg 2
1 ._1_1_22.jpg 1
2 ._1_0_07.jpg 0
3 ._1_1_16.jpg 1
4 ._1_1_25.jpg 1
使用 TensorFlow 后端。
这是工作部分。现在,当我从文件夹中导入图片时,它说它们不存在。为什么呢?
from keras.preprocessing import image
from tqdm import tqdm
os.environ['KMP_DUPLICATE_LIB_OK']='True'
path_images='C:/Users/sunja/Documents/Daten/Bilddaten_zugeschnitten'
def path_to_tensor(img_path):
# loads RGB image as PIL.Image.Image type
img_path = path_images+img_path
img = image.load_img(img_path.item(0), target_size=(256, 256)) #Variation mit mehr als 100x100 pixel
#tf.image.rgb_to_grayscale(img,name=None)
# convert PIL.Image.Image type to 3D tensor with shape (224, 224, 3)
x = image.img_to_array(img)
# convert 3D tensor to 4D tensor with shape (1, 224, 224, 3) and return 4D tensor
return np.expand_dims(x, axis=0)
def paths_to_tensor(img_paths):
list_of_tensors = [path_to_tensor(img_path) for img_path in tqdm(img_paths)]
return np.vstack(list_of_tensors)
#ImageFile.LOAD_TRUNCATED_IMAGES = True
from IPython.display import display
from PIL import Image
# pre-process the data for Keras
tensors = paths_to_tensor(files.values).astype('float32')/255
它甚至不开始导入,而是在第一个文件处停止。
FileNotFoundError:[Errno 2] 没有这样的文件或目录:'C:/Users/sunja/Documents/Daten/Bilddaten_zugeschnitten._1_2_22.jpg'
我错过了什么吗?提前致谢!