问题
i am using Tensor flow 0.8.0 verison on Jetson TK1 with Cuda 6.5 on 32 bit arm architecture. For that i can't upgrade the Tensor Flow version and i am facing trouble in Flatten function
x = tf.placeholder(dtype = tf.float32, shape = [None, 28, 28])
y = tf.placeholder(dtype = tf.int32, shape = [None])
images_flat = tf.contrib.layers.flatten(x)
The error i am getting at this point is
AttributeError: 'module' object has no attribute 'flatten'
is there any alternative to this function that may be supported in Tensor Flow V0.8
until now what i have tried is
images_flat = tf.reshape(x, (tf.shape(x)[0], -1))
but for that i get following errors
File "demo_code.py", line 113, in <module>
images_flat = tf.reshape(x, (tf.shape(x)[0], -1))
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/gen_array_ops.py", line 1092, in reshape
name=name)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/op_def_library.py", line 411, in apply_op
as_ref=input_arg.is_ref)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 566, in convert_to_tensor
ret = conversion_func(value, dtype=dtype, name=name, as_ref=as_ref)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/constant_op.py", line 179, in _constant_tensor_conversion_function
return constant(v, dtype=dtype, name=name)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/constant_op.py", line 162, in constant
tensor_util.make_tensor_proto(value, dtype=dtype, shape=shape))
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/tensor_util.py", line 332, in make_tensor_proto
_AssertCompatible(values, dtype)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/tensor_util.py", line 272, in _AssertCompatible
(dtype.name, repr(mismatch), type(mismatch).__name__))
TypeError: Expected int32, got list containing Tensors of type '_Message' instead.
For more details about it, i am following this tutorial https://www.datacamp.com/community/tutorials/tensorflow-tutorial
Thanks
回答1:
You can use tf.reshape instead
images_flat = tf.reshape(x, [x.get_shape(x).as_list()[0], -1])
来源:https://stackoverflow.com/questions/64293076/alternative-function-for-tf-contrib-layers-flattenx-tensor-flow