The issue was born in this code (int 2 line) -
image_size1 = 64*4
fcn8model1 = fcn_32s_to_8s(fcn32_blank(image_size1))
End Error code:
ValueError Traceback (most recent call last)
in ()
----> 1 fcn32model = fcn32_blank(image_size)
/home/lumius/Dropbox/neuralnets/vgg_segmentation_keras/utils.pyc in fcn32_blank(image_size)
39
40 for l in convblock(128, 2, bits=2):
---> 41 mdl.add(l)
42
43 for l in convblock(256, 3, bits=3):
/usr/local/lib/python2.7/dist-packages/Keras-2.0.6-py2.7.egg/keras/models.pyc in add(self, layer)
467 output_shapes=[self.outputs[0]._keras_shape])
468 else:
--> 469 output_tensor = layer(self.outputs[0])
470 if isinstance(output_tensor, list):
471 raise TypeError('All layers in a Sequential model '
/usr/local/lib/python2.7/dist-packages/Keras-2.0.6-py2.7.egg/keras/engine/topology.pyc in call(self, inputs, **kwargs)
594
595 # Actually call the layer, collecting output(s), mask(s), and shape(s).
--> 596 output = self.call(inputs, **kwargs)
597 output_mask = self.compute_mask(inputs, previous_mask)
598
/usr/local/lib/python2.7/dist-packages/Keras-2.0.6-py2.7.egg/keras/layers/pooling.pyc in call(self, inputs)
152 strides=self.strides,
153 padding=self.padding,
--> 154 data_format=self.data_format)
155 return output
156
/usr/local/lib/python2.7/dist-packages/Keras-2.0.6-py2.7.egg/keras/layers/pooling.pyc in _pooling_function(self, inputs, pool_size, strides, padding, data_format)
215 output = K.pool2d(inputs, pool_size, strides,
216 padding, data_format,
--> 217 pool_mode='max')
218 return output
219
/usr/local/lib/python2.7/dist-packages/Keras-2.0.6-py2.7.egg/keras/backend/tensorflow_backend.pyc in pool2d(x, pool_size, strides, padding, data_format, pool_mode)
3376
3377 if pool_mode == 'max':
-> 3378 x = tf.nn.max_pool(x, pool_size, strides, padding=padding)
3379 elif pool_mode == 'avg':
3380 x = tf.nn.avg_pool(x, pool_size, strides, padding=padding)
/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/nn_ops.pyc in max_pool(value, ksize, strides, padding, data_format, name)
1768 padding=padding,
1769 data_format=data_format,
-> 1770 name=name)
1771
1772
/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/gen_nn_ops.pyc in _max_pool(input, ksize, strides, padding, data_format, name)
1605 result = _op_def_lib.apply_op("MaxPool", input=input, ksize=ksize,
1606 strides=strides, padding=padding,
-> 1607 data_format=data_format, name=name)
1608 return result
1609
/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/op_def_library.pyc in apply_op(self, op_type_name, name, **keywords)
765 op = g.create_op(op_type_name, inputs, output_types, name=scope,
766 input_types=input_types, attrs=attr_protos,
--> 767 op_def=op_def)
768 if output_structure:
769 outputs = op.outputs
/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.pyc in create_op(self, op_type, inputs, dtypes, input_types, name, attrs, op_def, compute_shapes, compute_device)
2576 original_op=self._default_original_op, op_def=op_def)
2577 if compute_shapes:
-> 2578 set_shapes_for_outputs(ret)
2579 self._add_op(ret)
2580 self._record_op_seen_by_control_dependencies(ret)
/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.pyc in set_shapes_for_outputs(op)
1858 shape_func = _call_cpp_shape_fn_and_require_op
1859
-> 1860 shapes = shape_func(op)
1861 if shapes is None:
1862 raise RuntimeError(
/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.pyc in call_with_requiring(op)
1808
1809 def call_with_requiring(op):
-> 1810 return call_cpp_shape_fn(op, require_shape_fn=True)
1811
1812 _call_cpp_shape_fn_and_require_op = call_with_requiring
/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/common_shapes.pyc in call_cpp_shape_fn(op, require_shape_fn)
593 res = _call_cpp_shape_fn_impl(op, input_tensors_needed,
594 input_tensors_as_shapes_needed,
--> 595 require_shape_fn)
596 if not isinstance(res, dict):
597 # Handles the case where _call_cpp_shape_fn_impl calls unknown_shape(op).
/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/common_shapes.pyc in _call_cpp_shape_fn_impl(op, input_tensors_needed, input_tensors_as_shapes_needed, require_shape_fn)
657 missing_shape_fn = True
658 else:
--> 659 raise ValueError(err.message)
660
661 if missing_shape_fn:
ValueError: Negative dimension size caused by subtracting 2 from 1 for 'max_pooling2d_4/MaxPool' (op: 'MaxPool') with input shapes: [?,1,128,128].