CNN Training Question

I have another question. I have this workflow and that consists in 20.000 images of (28,28,3) and I have this error in Train CNN-> :

InvalidArgumentError (see above for traceback): Incompatible shapes: [9,3] vs. [25,3]
[[node gradients/mean_squared_error/SquaredDifference_grad/BroadcastGradientArgs (defined at :39) ]]

I have this 2 Python scripts in Network Creator an Network Learner but I have the error of the shapes: InvalidArgumentError (see above for traceback): Incompatible shapes: [9,3] vs. [25,3]

Do you know why??

NetworkCreator.txt (1.5 KB) NetworkLearner.txt (2.1 KB)

Hey Pableras,

the error states, that your shape size don’t match. one is 9,3 and the other one is 25,3 - but they should be 28,28,3 vs 28,28,3 or 9,3 vs 9,3 or 25,3 vs 25,3



thank you, but my question is why is the shape 9,3 vs 25,3 wheter my images are 28,28,3.

If you see de 2 files .txt, I declare shape of (28,28,3), neither 9 or 25. Number 25 is de batch size.

Do you know why?? Thanks

I modified this workflow with 3 kinds of images of shape(21,28,3). The execution is OK but when I test images not work well because the result is always tha same. This is my code to Dl Python network creator. Something wrong???:

variable name of the output network: output_network

import tensorflow as tf
from TFModel import TFModel

input_shape = (None, 21, 28, 3)
num_classes = 3

Create a graph

graph = tf.Graph()

Set the graph as default -> Create every tensor in this graph

with graph.as_default():

# Create an input tensor
x = tf.placeholder(tf.float32, shape=input_shape, name='input')

# Define the graph
# Convolutional Layer #1
conv1 = tf.layers.conv2d(inputs=x, filters=32, kernel_size=[5, 5],
						 padding="same", activation=tf.nn.relu)

# Pooling Layer #1
pool1 = tf.layers.max_pooling2d(inputs=conv1, pool_size=[2, 2], strides=2)

# Convolutional Layer #2 and Pooling Layer #2
conv2 = tf.layers.conv2d(inputs=pool1, filters=64, kernel_size=[5, 5],
						 padding="same", activation=tf.nn.relu)
pool2 = tf.layers.max_pooling2d(inputs=conv2, pool_size=[2, 2], strides=2)

# Convolutional Layer #2 and Pooling Layer #2
conv3 = tf.layers.conv2d(inputs=pool2, filters=128, kernel_size=[5, 5],
						 padding="same", activation=tf.nn.relu)
pool3 = tf.layers.max_pooling2d(inputs=conv3, pool_size=[2, 2], strides=2)

# Dense Layer
pool2_flat = tf.reshape(pool3, [-1, 768])
dense = tf.layers.dense(inputs=pool2_flat, units=512, activation=tf.nn.relu)

# Create an output tensor
y = tf.layers.dense(dense, num_classes, activation=tf.nn.softmax, name='output')

Create the output network

output_network = TFModel(inputs={‘input’: x}, outputs={‘output’: y}, graph=graph)