Я только что переключился с 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'
Я что-то упустил?
Заранее спасибо!