Это руководство Tensorflow загружает в код уже существующий набор данных (MNIST).Вместо этого я хочу вставить свои собственные тренировочные и тестовые изображения.
def main(unused_argv):
# Load training and eval data
mnist = tf.contrib.learn.datasets.load_dataset("mnist")
train_data = mnist.train.images # Returns np.array
train_labels = np.asarray(mnist.train.labels, dtype=np.int32)
eval_data = mnist.test.images # Returns np.array
eval_labels = np.asarray(mnist.test.labels, dtype=np.int32)
Он говорит, что возвращает массив np необработанных значений пикселей.
Мой вопрос:
1.Как мне создать такой массив NumPy для моего собственного набора изображений? Я хочу сделать это, чтобы я мог напрямую подставлять мой NUMPY массив вместо этих данных MNIST в пример кода и обучать модель своим данным (0-9и AZ).
РЕДАКТИРОВАТЬ: При дальнейшем анализе я понял, что значения пикселей в mnist.train.images
и mnist.test.images
были нормализованы в диапазоне от 0 до 1 от 0 до 255 (я полагаю) Какэто нормализация помогает?
Структура папки: папка обучения и тестирования находится в одной папке
Training folder:
--> 0
-->Image_Of_0.png
--> 1
-->Image_Of_1.png
.
.
.
--> Z
-->Image_Of_Z.png
Testing folder:
--> 0
-->Image_Of_0.png
--> 1
-->Image_Of_1.png
.
.
.
--> Z
-->Image_Of_Z.png
Код, который я написал:
Names = [['C:\\Users\\xx\\Project\\training-images', 'train',9490], ['C:\\Users\\xx\\Project\\test-images', 'test',3175]]
#9490 is the number of training files in total (All the PNGs)
#3175 is the number of testing files in total (All the PNGs)
for name in Names:
FileList = []
for dirname in os.listdir(name[0]):
path = os.path.join(name[0], dirname)
for filename in os.listdir(path):
if filename.endswith(".png"):
FileList.append(os.path.join(name[0], dirname, filename))
print(FileList)
## Creates list of all PNG files in training and testing folder
x_data = np.array([np.array(cv2.imread(filename)) for filename in FileList])
pixels = x_data.flatten().reshape(name[2], 2352) #2352 = 28 * 28 * 3 image
print(pixels)
Может ли созданный массив пикселей предоставляться в качестве обученияи тестирование данных, т.е. будет ли он иметь тот же формат, что и данные, представленные в примере кода?
2.Точно так же, какой массив NumPy должен быть создан для всех меток?(Имена папок)