Я пишу код для классификации между собаками и кошками в python (Tensorflow), но код отображает эту ошибку:
IndexError: index 0 выходит за пределы оси 0 с размером 0
Я застрял здесь.Любая помощь приветствуется.
Также, пожалуйста, помогите мне, я не могу понять, как работает OneHotEncoder. Я не понял логику здесь.Я провел много времени на том же.
def reset_graph(seed=42):
tf.reset_default_graph()
tf.set_random_seed(seed)
np.random.seed(seed)
reset_graph()
img_size = 64
num_channels = 3
img_size_flat = img_size * img_size * num_channels
img_shape = (img_size, img_size)
trainpath='C:\ProgramData\Anaconda3\train'
testpath='C:\ProgramData\Anaconda3\test'
labels = {'cats': 0, 'dogs': 1}
fc_size=32 #size of the output of final FC layer
num_steps=300
tf.logging.set_verbosity(tf.logging.INFO)
def read_images_classes(basepath,imgSize=img_size):
image_stack = []
label_stack = []
for counter, l in enumerate(labels):
path = os.path.join(basepath, l,'*g')
for img in glob.glob(path):
one_hot_vector = np.zeros(len(labels),dtype=np.int16)
one_hot_vector[counter]=1
image = cv2.imread(img)
image_stack.append(im_resize)
label_stack.append(labels[l])
return np.array(image_stack), np.array(label_stack)
X_train, y_train = read_images_classes(trainpath)
X_test, y_test = read_images_classes(testpath)b
print('length of train image set',len(X_train))
print('X_data shape:', X_train.shape)
print('y_data shape:', y_train.shape)
fig1 = plt.figure()
ax1 = fig1.add_subplot(2,2,1)
img = cv2.resize(X_train[0],(64,64), interpolation=cv2.INTER_CUBIC)
ax1.imshow(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
plt.title(y_train[0])
plt.show()