Когда я пытаюсь обучить мои наборы изображений, я получаю эту ошибку.Я пытался решить его в Интернете, но не получил большой помощи для решения проблемы.
D: \ Python \ python.exe C: /Nutsbolts/train.py
D:\ Python \ lib \ site-packages \ h5py__init __. Py: 36: FutureWarning:
Преобразование второго аргумента issubdtype из float
в
np.floating
устарело.В будущем он будет рассматриваться как
np.float64 == np.dtype(float).type
.из ._conv import
register_converters as _register_converters training_set Собираемся читать
обучающие образы Теперь будем читать орехи (индекс: 0)
Теперь собираемся читать винтыфайлы (индекс: 1)
Полное чтение входных данных.Теперь напечатает его фрагмент. Количество файлов в обучающем наборе: 1688 Количество файлов в проверочном наборе: 562 2018-10-08 11: 29: 47.598119: I tenorflow / core / platform / cpu_feature_guard.cc: 141] ВашCPU поддерживает инструкции, что этот двоичный файл TensorFlow не был скомпилирован для использования: AVX2 ПРЕДУПРЕЖДЕНИЕ: tenorflow: From C: /Nutsbolts/train.py: 44: вызов argmax (fromensorflow.python.ops.math_ops) с измерением устарел и будет удаленв будущей версии.Инструкции по обновлению. Вместо этого используйте аргумент axis
. ПРЕДУПРЕЖДЕНИЕ: tenorflow: From C: /Nutsbolts/train.py: 152: softmax_cross_entropy_with_logits (from tensorflow.python.ops.nn_ops) устарело и будет удалено в следующей версии.Инструкции по обновлению:
В следующих основных версиях TensorFlow градиенты будут поступать в метки, вводимые в backprop по умолчанию.
См. tf.nn.softmax_cross_entropy_with_logits_v2
.
Недопустимые параметры SOS дляпоследовательный JPEG Данные поврежденного JPEG: 2 посторонних байта перед маркером 0xe2 Предупреждение libpng: iCCP: профиль 'icc': 'CMYK': недопустимое цветовое пространство профиля ICC
Процесс завершен с кодом выхода 0
#Dataset program
import cv2
import os
import glob
import numpy as np
from sklearn.utils import shuffle
Определить функцию загрузки обучающих изображений
def load_train(train_path, image_size, classes):
images = []
labels = []
img_names = []
cls = []
print('Going to read training images')
for fields in classes:
index = classes.index(fields)
print('Now going to read {} files (Index: {})'.format(fields, index))
path = os.path.join(train_path, fields, '*g')
files = glob.glob(path)
for fl in files:
# Read the image
image = cv2.imread(fl)
# Resize the image
image = cv2.resize(image, (image_size, image_size),0,0, cv2.INTER_LINEAR)
# Convert the image to float
image = image.astype(np.float32)
image = np.multiply(image, 1.0 / 255.0)
images.append(image)
label = np.zeros(len(classes))
label[index] = 1.0
labels.append(label)
flbase = os.path.basename(fl)
img_names.append(flbase)
cls.append(fields)
images = np.array(images)
labels = np.array(labels)
img_names = np.array(img_names)
cls = np.array(cls)
return images, labels, img_names, cls
# Define a class DataSet
class DataSet(object):
def __init__(self, images, labels, img_names, cls):
self._num_examples = images.shape[0]
self._images = images
self._labels = labels
self._img_names = img_names
self._cls = cls
self._epochs_done = 0
self._index_in_epoch = 0
# Define various properties of the images
@property
def images(self):
return self._images
@property
def labels(self):
return self._labels
@property
def img_names(self):
return self._img_names
@property
def cls(self):
return self._cls
@property
def num_examples(self):
return self._num_examples
@property
def epochs_done(self):
return self._epochs_done
def next_batch(self, batch_size):
# Return the next `batch of examples from this data set.
start = self._index_in_epoch
self._index_in_epoch += batch_size
if self._index_in_epoch > self._num_examples:
# After each epoch we update this
self._epochs_done += 1
start = 0
self._index_in_epoch = batch_size
assert batch_size <= self._num_examples
end = self._index_in_epoch
return self._images[start:end], self._labels[start:end], self._img_names[start:end], self._cls[start:end]
Чтение обученных наборов
def read_train_sets(train_path, image_size, classes, validation_size):
class DataSets(object):
pass
data_sets = DataSets()
images, labels, img_names, cls = load_train(train_path, image_size,
classes)
images, labels, img_names, cls = shuffle(images, labels, img_names, cls) #paa add
if isinstance(validation_size, float):
validation_size = int(validation_size * images.shape[0])
validation_images = images[:validation_size]
validation_labels = labels[:validation_size]
validation_img_names = img_names[:validation_size]
validation_cls = cls[:validation_size]
train_images = images[validation_size:]
train_labels = labels[validation_size:]
train_img_names = img_names[validation_size:]
train_cls = cls[validation_size:]
data_sets.train = DataSet(train_images, train_labels, train_img_names, train_cls)
data_sets.valid = DataSet(validation_images, validation_labels, validation_img_names, validation_cls)
return data_sets