python输出数字方阵_问答 | python 矩阵输出问题

社长为你推荐来自 AI 研习社问答社区的精华问答。如有你也有问题,欢迎进社区提问。

话不多说,直接上题

@lke 说:

你好,我运行了这段代码,我想得到的是一个三维矩阵,可是输出的结果却是矩阵里面还包含了一个数组。我的思路是将t1与t2连接起来,然后循环赋值给input数组,请问有什么问题吗?

输出结果:

input [[array([1, 2, 3, 4, 5, 6]), array([1, 2, 3, 4, 5, 6]), array([1, 2, 3, 4, 5, 6]), array([1, 2, 3, 4, 5, 6]), array([1, 2, 3, 4, 5, 6])], [array([1, 2, 3, 4, 5, 6]), array([1, 2, 3, 4, 5, 6]), array([1, 2, 3, 4, 5, 6]), array([1, 2, 3, 4, 5, 6]), array([1, 2, 3, 4, 5, 6])], [array([1, 2, 3, 4, 5, 6]), array([1, 2, 3, 4, 5, 6]), array([1, 2, 3, 4, 5, 6]), array([1, 2, 3, 4, 5, 6]), array([1, 2, 3, 4, 5, 6])], [array([1, 2, 3, 4, 5, 6]), array([1, 2, 3, 4, 5, 6]), array([1, 2, 3, 4, 5, 6]), array([1, 2, 3, 4, 5, 6]), array([1, 2, 3, 4, 5, 6])], [array([1, 2, 3, 4, 5, 6]), array([1, 2, 3, 4, 5, 6]), array([1, 2, 3, 4, 5, 6]), array([1, 2, 3, 4, 5, 6]), array([1, 2, 3, 4, 5, 6])]]

代码:import tensorflow as tf

import numpy as np

from numpy import *

with tf.Session() as sess:

input = [[[0]*6]*5]*5

#input = list()

for i in range(5):

for j in range(5):

t1 = [1,2,3]

t2 = [4,5,6]

test = tf.concat([t1,t2],0)

print("test",sess.run(test))

input[i][j]=test

input[i][j] = input[i][j]

#input = input.append(test)

print(sess.run(input[i][j]))

print("input",sess.run(input))

# input = np.array(input)

# print("input",sess.run(input))

print(np.shape(input))

来自社友的回答

▼▼▼

@吴楚人生苦短,快用pytorch

@行者小林

这里面存在几个问题,你的目的是要使用特定的数字填充矩阵,你想使用tensoflow进行练习,但是练习过程中

1、你使用了很多种数据类型,一开始input为列表, 而后使用张量为列表子元素赋值,列表将子元素视为张量。

2、对于这种纯粹的矩阵赋值运算使用numpy即可input = [[[0]*6]*5]*5

for i in range(5):

for j in range(5):

t1 = [1,2,3]

t2 = [4,5,6]

test = np.concatenate((t1,t2),0)

# print("test",test)

input[i][j]=test

np.shape(input)

3、tensorflow支持矩阵运算,但张量不支持直接赋值,计算图的搭建通常是在会话(session)之前搭建好,你这里计算图其实是在会话里面进行搭建的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值