(1)张量及python基础

1.课前准备

  1. 安装Anaconda(自带Jupyter notebook)与python,并安装numpy(安装了Anaconda后无需担心,用CPU运行,CPU版本的matelable)与pytorch(GPU版本的numpy 既能CPU又能GPU)
  2. 安装编辑器Pycharm

2.张量的基础概念

张量阶数 例子
标量(没有分量) 0 能量、温度、一门课的总成绩
向量 1 速度、力、多门课的总成绩构成的数列
矩阵 2 算符的系数矩阵、黑白图片
张量 N 彩色图片(三阶张量)
  • N维张量又称N维数列
  • 张量阶数即为张量指标的个数
  • 向量、矩阵也被称为1阶张量、2阶张量
  • 每个指标可取的值的个数,被称为指标的维数
  • 张量的“直观”定义:多个指标标记下的一堆数

2.1 代码实例

向量:

v = np.random.randn(4,) #生成长度为4的随机向量   randn为高斯分布
print(v)
print(v.shape) #v的形状
print(v.size) #v中包含的元素的个数
print(v.dot(v)) #v和v的内积   v.T表示v的转置
v[1]  = 10.21 #修改v的某个元素 

矩阵:

m = np.random.randn(2,2)  + np.random.randn(2,2) * 1j    # 生成2*2的随机复矩阵
print(m.conj())  # 求矩阵共轭
print(m.conj().T) # 求矩阵共轭转置
print(np.eye(2)#打印单位阵
print(np.zeros((2,4))) #打印全零矩阵

张量:

x = np.random.randn(2,2,2) #随机生成一个2*2*2的三阶张量
print(x.ndim) #张量的阶数
print(np.ones((2,3,2))) #生成全1的三阶张量

3.张量的图形表示

——张量用连接着N个腿(bond)的圆圈或方块表示,N为张量的阶数
在这里插入图片描述
:一个腿表示一个指标

4.张量的基本操作

  • 切片——提取相关元素
  • transpose命令——改变张量指标的顺序
  • reshape命令——张量的阶数可以进行相互的转换(改变张量的形状)

:使用transpose命令和reshape命令转换张量前后,其所包含的元素总个数不变,意义仅在于采用不同的index标记各个元素(改变的只是表示方式,值没有改变)

4.1 代码实例

向量切片:

v = np.arange(6) #输出[0 1 2 3 4 5 ]
print(v[:3]) #输出[0 1 2]

张量切片:

x = np.random.randn(4,4,4
  • 0
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值