如何在tensorflow中生成数组张量

时间:2017-12-02 16:13:05

标签: tensorflow

我在张量流中使用以下代码生成输入张量A张量;

import tensorflow as tf

A = tf.constant(1.0, shape = [10, 10])
with tf.Session() as sess:
   print(sess.run(A))
output = [[ 1.  1.  1.  1.  1.  1.  1.  1.  1.  1.]
 [ 1.  1.  1.  1.  1.  1.  1.  1.  1.  1.]
 [ 1.  1.  1.  1.  1.  1.  1.  1.  1.  1.]
 [ 1.  1.  1.  1.  1.  1.  1.  1.  1.  1.]
 [ 1.  1.  1.  1.  1.  1.  1.  1.  1.  1.]
 [ 1.  1.  1.  1.  1.  1.  1.  1.  1.  1.]
 [ 1.  1.  1.  1.  1.  1.  1.  1.  1.  1.]
 [ 1.  1.  1.  1.  1.  1.  1.  1.  1.  1.]
 [ 1.  1.  1.  1.  1.  1.  1.  1.  1.  1.]
 [ 1.  1.  1.  1.  1.  1.  1.  1.  1.  1.]]

我想将条目的一部分设置为零,比如列或原始的一半或四分之一,我做了以下操作;

import numpy as np
output = np.array(A)
A1 = output[:, output.shape[1]//2:] = 0
print(A1)

但我的错误'元组索引超出范围'请帮忙 print(sess.run(A1))

1 个答案:

答案 0 :(得分:0)

单独创建单个部分,然后将它们连接起来:

A = tf.ones(shape=[10, 5])
B = tf.zeros(shape=[10,5])

AB = tf.concat((A,B), axis=1)

同样适用于逐行拆分。