Python库[Pytorch,Numpy,]

注意

疑难库可以直接下载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 
NumPy array和Python List是两种常见的数据类型,它们都具有存储和操作数据的功能,但是这两种数据类型的使用方式和功能特性有很大的差异。 首先,NumPy array是NumPy库的一个核心数据类型,它是一个固定大小且与元素类型相同的数组,而Python List是一个可变大小的列表,可以包含不同类型的数据。由于NumPy array是固定大小的,相较于Python List,在存储和访问大规模数据时更为高效。 其次,NumPy array支持广播和向量化操作,可以进行逐元素的运算,使得数据运算更加快速和高效,而Python List则需要一个for循环来完成逐个运算。 此外,NumPy库还可以进行线性代数、统计计算等高级运算。对于处理一些科学计算和数据分析任务,NumPy array可以更好地满足需求。 相比之下,PyTorch是一个基于Torch的Python深度学习框架,它的主要数据类型是Tensors。Tensors也类似于NumPy的array,可以存储和操作数据,但它同时支持GPU计算,可以快速计算神经网络中的大量计算。 此外,PyTorch框架还提供了自动微分、模型构建和优化等功能,对于进行深度学习任务的开发人员来说是非常便利的。而NumPy库则更适用于进行一些基础的数值计算和科学计算任务。 总之,NumPy array和Python List是两种不同的数据类型,适用于不同的数据处理场景,而PyTorch中的Tensor则是一种更专门用于深度学习的数据类型。选择合适的数据类型,可以在数据处理和深度学习任务中提高效率和精度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值