python&pytorch基础知识点

栏目:远程教育  时间:2023-07-29
手机版

  0、python教程

  菜鸟教程:Python 字典(Dictionary)

  单个的星号*操作,表示展开一个可迭代的数据,双星号如果在函数定义时,做为输入,可以用来匹配关键字参数,并且在调用时候,将关键字参数的关键字和输入值,组成字典

  Python的表达式加星号*和双星号**的用法

  with还可以很好的处理上下文环境产生的异常

  Python中with的用法_Ego_Bai的博客-CSDN博客_python with

  它是一个对函数的类型注解,简单表示方法什么都不返回。这个类型注解是在Python3.5介绍进来的。

  注解表示函数的返回类型,用标识符-> 。它是可选的,如果删掉,什么都不会影响

  是参数的类型建议符,函数后面跟着的箭头是函数返回值的类型建议符,用来说明该函数返回的值是什么类型,类型建议符并非强制规定和检查,也就是说即使传入的实际参数与建议参数不符,也不会报错,但会有警告。

  def Sum(num1: int, num2: int=100) -> int:

  sum = num1 + num2

  return sum

  “单下划线” 开始的成员变量叫做保护变量,意思是只有类对象和子类对象自己能访问到这些变量;

  “双下划线” 开始的是私有成员,意思是只有类对象自己能访问,连子类对象也不能访问到这个数据;

  在类中定义了这个__getitem__ 方法,那么它的实例对象(假定为p),可以像这样p[key] 取值,当实例对象做p[key] 运算时,会调用类中的方法__getitem__

  问题: 看pytorch的dataset的代码cifar10里面的__getitem__函数里面没有限制index长度?怎么保证数据读取时停止的?

  torchvision.datasets.cifar - Torchvision 0.12 documentation

  对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值

  python enumerate用法总结

  lambda在Python编程中使用的频率非常高,我们通常提及的lambda表达式其实是python中的一类特殊的定义函数的形式,使用它可以定义一个匿名函数。即当你需要一个函数,但又不想费神去命名一个函数,这时候,就可以使用 lambda了。例如g=lambda x : x+1

  python中lambda的用法_abyss-phospherus的博客-CSDN博客_lambda python

  会根据提供的函数对指定序列做映射,在写返回值等需要转换的时候比较常用

  我们可以使用@property装饰器来创建只读属性,@property装饰器会将方法转换为相同名称的只读属性,可以与所定义的属性配合使用,这样可以防止属性被修改。

  转自:Zhihao:python @property的介绍与使用

  转自:python中使用下划线命名的规则_weixin_52012241的博客-CSDN博客_python下划线命名规则

  Python collections模块之defaultdict()详解

  Python setattr() 函数

  在python3中按数据类型的可变与不可变大致分为如下几种类型,前面已经介绍了另外几种了。今天讲讲set。

  不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);

  可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。

  Python中集合set的使用详解_涤生大数据的博客-CSDN博客_python set

  action='store_true' 这个参数给“--cuda” 这设置了默认值ture,这样这个参数就不用像其他参数一样给等号和默认值了,当然类似还有还有action='store_false';

  合并两个元组,返回一个元组;

  a : int = 2

  资料灰灰:在Python中指定变量类型

  菜鸟资料:Python 字典(Dictionary)

  特性:缩进,序列,动态性,匿名、嵌套函数,自省

  2和3的别:3定义个格式print("abc"),数据类型上只有int没有long,3还有range,

  数据类型:int float 字符串 列表 函数

  bool, int , float,复杂类型,None类型

  容器:

  (1)序列容器:6种,string,unicode,list(列表),tuple(元组),buffer,range

  列表[] ,元组()元素不能改

  (2)关联容器:dict(字典) set(集合)

  set([1,2,3]) 无序唯一的存放元素

  if for while break contine

  函数 lambda

  第5章 类和对象

  类、实例、方法

  构造函数__init__,析构函数__del__

  继承:单一继承、多重继承、方法重载

  关联和依赖

  try except else final

  模块对应文件,包对应文件夹,包下方__init__.py 文件保障记录包下的所有模块

  import module,form module import fun,区别在于后者在引用是不用一直写module

  (1)元类型 type

  (2)新类型:

  实例方法,第一个参数是self,只有实例可调用

  类方法,第一个参数是类本身,默认cls,类可以调用&一个参数是self

  静态方法 ,不需要一个参数是self,类可以调用&一个参数是self

  第9章 迭代器、生成器、修饰器

  迭代器 __iter__ next

  生成器 yield

  修饰器 (Decorator) @

  括号的问题

  b相比a增加了一个括号,但是a和b的值是一样的,因为zeros、rand、ones函数还有第二个参数dtype=torch.float32,默认不写dtype是float32,所以b外面的括号是为dtype准备,但是Tensor是不能有第二层括号的

  两种方式的输出是一样的,0表示列的最大值,1表示行的最大值。

  0表示第0维的最大值,每个子数组出一个数算大值;

  1表示第1维的最大值,也就是每个子数组内部的最大值;

  机器学习中的数学--激活函数:基础知识_von Neumann的博客-CSDN博客

  · 激活函数(一):Sigmoid函数

  · 激活函数(二):双曲正切函数(Tanh函数)

  · 激活函数(三): 线性整流函数(ReLU函数)

  · 激活函数(四):Leaky ReLU函数

  · 激活函数(五):ELU函数

  · 激活函数(六):Parametric ReLU(PReLU)函数

  · 激活函数(七):Softmax函数

  · 激活函数(八):Swish函数

  · 激活函数(九):Maxout函数

  · 激活函数(十):Softplus函数

  · 激活函数(十一):Softsign函数

  · 激活函数(十二):高斯误差线性单元(GELUs)

  另外有nn.softmax、nn.LogSoftmax,见参考资料

  另外有torch.softmax

  参考资料:

  悲恋花丶无心之人:Pytorch中Softmax和LogSoftmax的使用

  a=torch.tensor([5,5,5,5]).float()

  a = torch.tensor([1,2,3]).to(dtype=torch.float)

  torch.mul(a, b) 是矩阵a和b对应位相乘,a和b的维度必须相等,比如a的维度是(1, 2),b的维度是(1, 2),返回的仍是(1, 2)的矩阵,和a*b效果相同。其实这个矩阵或者向量的乘法操作就是H a d a m a r d HadamardHadamard乘积哈达玛乘积,具体操作细节查看这个。这个操作跟乘以b一样。

  torch.mm(a, b) 是矩阵a和b矩阵相乘,比如a的维度是(1, 2),b的维度是(2, 3),返回的就是(1, 3)的矩阵。这个操作很熟悉了,这就是很常用的矩阵运算。

  ShuYini:Pytorch常用的交叉熵损失函数CrossEntropyLoss()详解

  softmax+log_nllloss=crossentropyloss

  事件的信息量定义为期望,很多事件的期望用熵来标识

  LK散度就是相对熵,相对熵=熵+交叉熵

  蔡杰:简单的交叉熵,你真的懂了吗?

  学习资料:External Resources

  斯坦福课程作业:https://medium.com/stanford-cs224w/recommender-systems-with-gnns-in-pyg-d8301178e377

  Introduction by Example

  plantoid数据集不能引入的问题处理方法:PyG的Planetoid无法直接下载Cora等数据集的3个解决方式_诸神缄默不语的博客-CSDN博客_cora数据集下载

  pytorch官网:

  PyTorch

  PYG :

  PyG Documentation

  OBG :https://ogb.stanford.edu/

  会议:https://logconference.org/

  nvidia-smi

  watch -n 0.5 nvidia-smi

  linux查看GPU使用情况 linux如何查看GPU使用情况

  6、sparse特征

  在ogbn-arxiv数据集上,边的特征用稀疏特征比用稠密特征准确率可以可以30%->60%,效果非常明显

上一篇:湖南理科476分该选什么学校
下一篇:书法家刘洪安荣获“丝路敦煌杯”优秀奖,绿色书画平台颁发证书

最近更新远程教育