深度学习使用Float而不是Long/Int
DeepLearning
使用Float
、Complex
数据类型,而不使用Int
、Long
等类型
Int64(即Long类型): -2^64 ~ 2^63-1
Float64: 12位(阶数11位、符号一位)、52位(尾数) -(2^52)^1024 ~ (2^51-1)^1024
Complex:由两个 32 位浮点数组成
深度学习特点:范围大且精度要求高,所以Float更适合
import torch
t1 = torch.tensor([1,2,3])
torch.is_tensor(t1)
torch.is_storage(t1)
torch.numel(t1) # 总长度,如果多维,累加
t2 = torch.eye( 10 , 5 )
import numpy as np
source = np.empty([2 , 2] , float) # 返回一个随机初始化的数组
np.empty_like( source ) # 返回一个形状相同的数组
np.eye(5) # 对角线
np.identity(10) # 只能创建对角矩阵
one = np.ones( [2,2] ) # 返回给定形状和类型的新数组
np.ones_like( one )
np.zeros( [2,2] )
np.zeros_like( one )
np.full( [2,3] , 5 )
np.full_like( one , 8)
np.asarray( [(1,2) , (3,4)] )
tt = np.copy( one ) # 深拷贝
np.arange(0,100 ,2) # 给定间隔,生成均匀间隔的值
np.linspace(0,100,3) # 给定总个数,生成范围内数字
np.diag( one , 1 ) # n是数组 , k是第几个对角线
np.diag(np.diag( one )) # 如果是1-D 向量,返回包含该对角线的矩阵
np.mat( np.array( [1,2,3] ) ) # 返回mat