Может кто-нибудь дать чистый код для загрузки CIFAR-10 в тензорном потоке?

Я проверил примеры, приведенные в репозитории tenorflow на github. Но я не хочу изменять размер изображений до 24x24 . В принципе, я ищу более простой и простой код.

0
Avijit Dasgupta 26 Ноя 2016 в 22:25

2 ответа

Лучший ответ

Взгляните на следующую страницу github, где я сделали это. Если указанная выше ссылка не работает, следуйте инструкциям на kgeorge.github .io и посмотрите записную книжку tf_cifar.ipynb. Я попытался загрузить данные cifar-10, используя детские шаги. Найдите функцию load_and_preprocess_input

Следующая функция из этого кода принимает данные как массив np из (nsamples, 32x32x3) float32 и маркирует как массив np из nsamples int32 и предварительно обрабатывает данные для использования при обучении тензорного потока.

image_depth=3
image_height=32
image_width=32
#data = (nsamples, 32x32x3) float32
#labels = (nsamples) int32
def prepare_input(data=None, labels=None):
    global image_height, image_width, image_depth
    assert(data.shape[1] == image_height * image_width * image_depth)
    assert(data.shape[0] == labels.shape[0])
    #do mean normaization across all samples
    mu = np.mean(data, axis=0)
    mu = mu.reshape(1,-1)
    sigma = np.std(data, axis=0)
    sigma = sigma.reshape(1, -1)
    data = data - mu
    data = data / sigma
    is_nan = np.isnan(data)
    is_inf = np.isinf(data)
    if np.any(is_nan) or np.any(is_inf):
        print('data is not well-formed : is_nan {n}, is_inf: {i}'.format(n= np.any(is_nan), i=np.any(is_inf)))
    #data is transformed from (no_of_samples, 3072) to (no_of_samples , image_height, image_width, image_depth)
    #make sure the type of the data is no.float32
    data = data.reshape([-1,image_depth, image_height, image_width])
    data = data.transpose([0, 2, 3, 1])
    data = data.astype(np.float32)
    return data, labels
2
koshy george 28 Ноя 2016 в 04:58

Обратите внимание, что теперь есть встроенная функция чтобы загрузить этот набор данных.

1
Jonathan Rayner 3 Июн 2020 в 00:01