Python 3 fixes for ConvertLiteralToNumpyArray.

In Python 3, range does not return a list.

PiperOrigin-RevId: 318566171
Change-Id: I76b66d3fac05660f3735a6fcfa3bd9c1eefb610b
This commit is contained in:
RJ Skerry-Ryan 2020-06-26 16:39:44 -07:00 committed by TensorFlower Gardener
parent 355b4f2fc5
commit fb03bc60fe

View File

@ -48,9 +48,9 @@ def ConvertLiteralToNumpyArray(literal):
# on the LiteralProto's layout. # on the LiteralProto's layout.
layout_order = literal.shape.layout.minor_to_major layout_order = literal.shape.layout.minor_to_major
numpy_shape = tuple(literal.shape.dimensions) numpy_shape = tuple(literal.shape.dimensions)
if layout_order == range(len(literal.shape.dimensions)): if layout_order == list(range(len(literal.shape.dimensions))):
numpy_reshaper = lambda arr: arr.reshape(numpy_shape, order='F') numpy_reshaper = lambda arr: arr.reshape(numpy_shape, order='F')
elif layout_order == range(len(literal.shape.dimensions) - 1, -1, -1): elif layout_order == list(range(len(literal.shape.dimensions) - 1, -1, -1)):
numpy_reshaper = lambda arr: arr.reshape(numpy_shape, order='C') numpy_reshaper = lambda arr: arr.reshape(numpy_shape, order='C')
else: else:
raise NotImplementedError('Unsupported layout: {0}'.format(layout_order)) raise NotImplementedError('Unsupported layout: {0}'.format(layout_order))