如何解决使用Tensorflow进行类似Numpy的索引和赋值
我做了一个简单的示例,说明了numpy数组的索引和赋值的目的是在黑屏上制作一个小的白色正方形。 我将如何使用Tensorflow复制以下代码?
black_img = np.zeros([5,5,3])
white_rect = np.ones([3,3])
size = np.arange(3)
black_img[size,size] = white_rect
解决方法
您可以在TensorFlow中创建常量或变量。
black_img = np.zeros([5,5,3],dtype = np.int32)
black_img_tf = tf.constant(np.zeros([5,dtype = np.int32))
输出:
<tf.Tensor: shape=(5,3),dtype=int32,numpy=
array([[[0,0],[0,0]],[[0,0]]])>
但是,TensorFlow不支持NumPy之类的项目分配。 但是,您可以使用从NumPy操作获得的结果来创建新的常量或变量。
代码:
black_img[size,size] = white_rect
tf.constant(black_img)
输出:
<tf.Tensor: shape=(5,numpy=
array([[[1,1,1],[1,0]]])>
请注意,不允许单独分配项目,但您可以执行诸如对张量进行加法,减法之类的操作。
c = tf.constant(np.ones([3,dtype = np.int32)) + tf.constant(np.ones([3,dtype = np.int32))
c
输出:
<tf.Tensor: shape=(3,numpy=
array([[2,2,2],[2,2]])>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。