какой тип этих данных? - PullRequest
       32

какой тип этих данных?

0 голосов
/ 19 сентября 2019

Скажите, пожалуйста, тип train_images?Его nparray?

    data_dir = self.data_dir
    fd = open(os.path.join(data_dir, 'train-images-idx3-ubyte'))
    loaded = np.fromfile(file=fd, dtype=np.uint8)
    train_images = loaded[16:].reshape((60000, 28, 28,1)).astype(np.float)

Другой мой вопрос: как я могу преобразовать изображения jpg одной папки в формат train_images ??Я хочу сделать поезд и проверить набор данных.Спасибо

1 Ответ

0 голосов
/ 19 сентября 2019

Для проверки типа любого объекта вы можете использовать type()

print( type(train_images) ) 

Многие модули (не только для Data Science) имеют функцию для загрузки изображения и непосредственного создания массива, либо он может бытьлегко конвертируется с помощью np.array().

import numpy as np
import matplotlib.pyplot as plt

filename = 'image.jpg'

import matplotlib.pyplot

img = matplotlib.pyplot.imread(filename)

print(type(img), img.shape)
plt.imshow(img)
plt.show()

Возможно, потребуется преобразовать цвета BGR в RGB

import cv2

img = cv2.imread(filename)
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

print(type(img), img.shape)
plt.imshow(img)
plt.show()

import imageio

img = np.array(imageio.imread(filename))
img = np.array(img)

print(type(img), img.shape)
plt.imshow(img)
plt.show()

import PIL.Image

img = PIL.Image.open(filename)
img = np.array(img)

print(type(img), img.shape)
plt.imshow(img)
plt.show()

Требуется повернуть - поменять оси

import pygame

img = pygame.image.load(filename)
img = pygame.surfarray.array3d(img)
img = img.swapaxes(0, 1)

print(type(img), img.shape)
plt.imshow(img)
plt.show()

import skimage

img = skimage.io.imread(filename)

print(type(img), img.shape)

plt.imshow(img)
plt.show()

import scipy.misc

img = scipy.misc.imread(filename)

print('scipy:', type(img), img.shape)

plt.imshow(img)
plt.show()

Загружается изображение, но отображается предупреждение:

DeprecationWarning: `imread` is deprecated!
`imread` is deprecated in SciPy 1.0.0, and will be removed in 1.2.0.
Use ``imageio.imread`` instead.

Должен быть преобразован из PIL.Image в numpy.array

from keras.preprocessing.image import load_img

img = load_img(filename)
img = np.array(img)

print('keras:', type(img), img.shape)

plt.imshow(img)
plt.show()
...