Я внедряю CNN для классификации изображений; я взял случайную архитектуру CNN, используя keras
import keras
from keras.models import Sequential,Input,Model
from keras.layers import Dense, Dropout, Flatten
from keras.layers import Conv2D, MaxPooling2D
from keras.layers.normalization import BatchNormalization
from keras.layers.advanced_activations import LeakyReLU
model = Sequential()
model.add(Conv2D(filters=32, kernel_size=(3, 3), activation="relu", input_shape=(n,n,1)))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))
model.add(Conv2D(filters=64, kernel_size=(5, 5), activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))
model.add(Flatten())
model.add(Dense(num_classes, activation='softmax'))
model.compile(loss=keras.losses.categorical_crossentropy, optimizer=keras.optimizers.Adam(),metrics=['accuracy'])
train = model.fit(train_X, train_label, batch_size=batch_size,epochs=epochs,verbose=1,validation_data=(valid_X, valid_label))
Я пытаюсь выполнить увеличение изображения с помощью кода с использованием tenorflow, я предпочитаю этот код, чем выполнять увеличение данных с помощью keras ImageDataGenerator, потому что это дает мне большую гибкость.
import tensorflow as tf
def rotate_images(X_imgs):
X_rotate = []
tf.reset_default_graph()
X = tf.placeholder(tf.float32, shape = (n, n, 1))
k = tf.placeholder(tf.int32)
tf_img = tf.image.rot90(X, k = k)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
for img in X_imgs:
for i in range(3): # Rotation at 90, 180 and 270 degrees
rotated_img = sess.run(tf_img, feed_dict = {X: img, k: i + 1})
X_rotate.append(rotated_img)
X_rotate = np.array(X_rotate, dtype = np.float32)
return X_rotate
Когда я пытаюсь соответствовать своей модели, я получаю следующее сообщение об ошибке
InvalidArgumentError: Tensor dense_7_target:0, specified in either feed_devices or fetch_devices was not found in the Graph
похоже, что graph - это что-то, что используется в tenorflow, я думаю, что у меня плохое взаимодействие между keras и tansorflow; что удивительно, я однажды смог запустить свою модель, но теперь она снова сломалась ..
Скажите, если вам нужна дополнительная информация; спасибо за помощь