Я разрабатываю CNN для классификации изображений с помощью TFlearn на основе тензорного потока, и теперь я создаю наборы данных с помощью scipy.misc.imread, и я устанавливаю размер изображения 150x150, каналы = 3, и теперь я получаю список, содержащий 4063 (количество моих изображений) (150, 150, 3) массив, и теперь я хочу преобразовать его в nd-array (4063, 150, 150, 3), я не знаю, как его решить, пожалуйста, помогите меня. Заранее спасибо!
import numpy as np
import os
import tensorflow as tf
from scipy import misc
from PIL import Image
IMAGE_SIZE = 150
image_path = "dragonfly"
labels = np.zeros((4063, 1))
labels [0:2363] = 1
labels [2364:4062] = 0
test_labels = np.zeros((200, 1))
test_labels [0:99] = 1
test_labels [100:199] = 0
fset = []
fns=[os.path.join(root,fn) for root,dirs,files in os.walk(image_path) for fn in files]
for f in fns:
fset.append(f)
def create_train_data():
train_data = []
fns=[os.path.join(root,fn) for root,dirs,files in os.walk(image_path) for fn in files]
for f in fns:
image = misc.imread(f)
image = misc.imresize(image, (IMAGE_SIZE, IMAGE_SIZE, 3))
train_data.append(np.array(image))
return train_data
train_data = create_train_data()
print (len(train_data))
training_data = train_data[0:2264] + train_data[2364:3963]
train_labels = np.concatenate((labels[0:2264], labels[2364:3963]))
test_data = train_data[2264:2364] + train_data[3963:4063]
Train_data - это то, что у меня есть, и это список, который я хочу преобразовать.