Я пытаюсь создать модель CNN с помощью следующего кода:
import tensorflow as tf
class Create_CNN:
def _conv(self, input, nChannels, kernelSize, kernelStride):
conv = tf.layers.conv2d(inputs=input,
filters=nChannels,
kernel_size=kernelSize,
strides=(kernelStride, kernelStride),
padding='same',
activation=tf.nn.relu
)
return conv
def create_cnn(self, input, nChannels, kernelSize, kernelStride):
input = tf.reshape(input, shape=[-1, 500, 530, 3])
layer1 = Create_CNN()._conv(input, nChannels, kernelSize, kernelStride)
layer2 = Create_CNN()._conv(layer1, nChannels, kernelSize, kernelStride)
layer3 = Create_CNN()._conv(layer2, nChannels, kernelSize, kernelStride)
layer4 = Create_CNN()._conv(layer3, nChannels, kernelSize, kernelStride)
layer5 = Create_CNN()._conv(layer4, nChannels, kernelSize, kernelStride)
return layer5
Здесь я ввожу изображение размером 500 * 530 * 3. Я пытаюсь передать входные и другие параметры, используя следующий код:
with tf.Session().as_default():
tf.global_variables_initializer().run()
i = PlantUtils().create_instance('ara2013_plant001_rgb.png', 'ara2013_plant001_label.png', 500, 530, 100, 106, 1, 1,
1)
input_image = i[0] # It is a 500 * 530 * 3 tensor
b = Create_CNN().create_cnn(input=input_image, kernelSize=3, kernelStride=1, nChannels=30)
x = tf.argmax(input=b, axis=1)
print x.eval()
Когда я пытаюсь распечатать логиты (означает значение x), я получаю следующую ошибку:
FailedPreconditionError (see above for traceback): Attempting to use uninitialized value conv2d_1/kernel
Я не уверен, что неправильно я сделал. Мне нужно увидеть логиты, сгенерированные из моей модели CNN. Мне действительно нужна помощь в этом.