注意
疑难库可以直接下载whl,再
pip install xx.whl
。难以直接下到等情况
下载地址
基础
import numpy as np
import torch
# 定义 解释时使用的对象
a_list = [[0,1,2],[3,4,5]] # python对象 list,shape可以不同
a_np = np.array(a) # numpy对象
a_torch = torch.from_numpy(a_np) # torch对象
b = a_list
objs = [0,1,2,3,4,5] # 迭代器(任意对象)
X,Y # 类型:np/torch,len(shape)>=1
Python
`# encoding: utf-8`
# py文件第一行,代表编码
# list.append: 数组拼接
a = [1,2]
b = [3,4]
c = a + b # c=[1,2,3,4]
a += b # a=[1,2,3,4]
c = a.append(b) # 显式调用
# len: 获取迭代器的长度
len(a_list) # 2,因为a_list是二维数组,第1位是2
# list|int|float 等: 类型转换。list可以把所有迭代器转为数组
list(range(5)) # [0,1,2,3,4] ,看下面的range
# range(<若干参数↓>): 获得 迭代器(数),以下等价
for i in range(20):
print(i)
for i in range(0,20):
print(i)
for i in range(0,20,1):
print(i)
# zip(<可变参数>): 压缩
a = a_list = [0,1,2,3,4,5]
b = b_list =[10,11,12,13,14,15]
for i,j in zip(a,b):
print(a,b)
for (i,j) in zip(a,b):
print(a,b)
# zip(*<zip对象>): 解压
(a2,b2)=zip(*zip(a,b))
# enumerate(<迭代器>): 带索引迭代
for i,obj in enumerate(objs):
print(i,obj)
# any
# all
# min
# max
# string r f
r'./data/0'
f'{
dir}/{
file}'
- string格式化
- .cpython-38-x86_64-linux-gnu.so
.so
的文件名 需要与版本匹配,查看该python接受 哪些后缀的文件,需使用python语言执行命令(import importlib.machinery ; print(importlib.machinery.all_suffixes())
)
三方库
numpy: 科学计算
import numpy as np
# np +-*/&| **
c = a+b # 同位置相加(shape不变,其它都差不多)
# np.shape: 获得对象的shape形状
a_np.shape() # (2,3)
# np.reshape(-1)
a_np.reshape(-1)
# np.max: 返回同axis的最大值(shape的其他位置相同),原来的shape(axis)会消失,a_max=[2,5]
# - 归一化时:X_max=np.max(X),X_min=np.min,X=(X-X_min)/(X_max-X_min)
a_max = np.max(a.axis=1)
# np.min: 返回同axis的最小值,和上面的相反,不解释
a_min = np.min(a.axis=1)
# np.argmax: 返回同axis的最大值的下标,a_argmax=[2,2]
a_argmax = np.argmax(a,axis=1)
# np.sum
a_sum = np.sum(a,axis=1) # 返回同axis的合
# np.all: np.&
# np.any: np.|
# np.where
# - 返回 同一索引的下标的数组 的元组,比如满足条件的点为[(0,1),(2,3),(4,5)],则会返回([0,2,4],[1,3,5])
a_1 = np.where(a>3)
# - a_2.shape==a.shape。若 a>3==True,则赋值第二个参数;否则,赋值第三个参数
a_2 = np.where(a>3,1,0)
# - 与上一个不同的是,第二个参数为b_np (b_np.shape==a_np.shape),
# 获取值时会获取相同位置的值(shape略不一样时,会广播),第三个参数也一样
a_3