随笔分类 -  python

摘要:梯度下降法 大多数机器学习或者深度学习算法都涉及某种形式的优化。优化指的是改变特征x以最小化或最大化某个函数f(x)的任务。我们通常以最小化f(x)指代大多数最优化问题。最大化可经由最小化算法最小化-f(x)来实现。 我们要把最小化或最大化的函数称为目标函数或准则。当我们对其进行最小化时,我们也把它 阅读全文
posted @ 2023-03-26 21:59 sqsq 阅读(10652) 评论(0) 推荐(0) 编辑
摘要:传统的训练函数,一个batch是这么训练的: for i,(images,target) in enumerate(train_loader): # 1. input output images = images.cuda(non_blocking=True) target = torch.from 阅读全文
posted @ 2023-03-16 17:15 sqsq 阅读(156) 评论(0) 推荐(0) 编辑
摘要:json.loads()方法可用于解析有效的JSON字符串并将其转换为Python字典。它主要用于将包含JSON数据的本地字符串,字节或字节数组反序列化为Python字典。 用法:json.loads(s) 参数:它接受一个字符串,字节或字节数组实例,该实例包含JSON文档作为参数。 返回:它返回一 阅读全文
posted @ 2023-03-11 08:28 sqsq 阅读(350) 评论(0) 推荐(0) 编辑
摘要:Variable 与Tensor tensor是PyTorch中的完美组件,高效的数据格式,但是构建神经网络还远远不够,我们需要能够构建计算图的tensor,这就是Variable。Variable是对tensor的封装,操作和tensor是一样的,但是每个Variable都有三个属性,Variab 阅读全文
posted @ 2023-03-10 20:47 sqsq 阅读(25) 评论(0) 推荐(0) 编辑
摘要:在使用Pytorch框架时,需要自己定义网络。super(XX,self).init(),就成了自定义网络结构时必不可少的第一句。 super(XX,self).init()对继承自父类的属性进行初始化,并且用父类的初始化方法初始化继承的属性。 例子: import torch import num 阅读全文
posted @ 2023-03-10 11:21 sqsq 阅读(373) 评论(0) 推荐(0) 编辑
摘要:random.random()函数是这个模块中最常用的方法了,它会生成一个随机的浮点数,范围是在0.0~1.0之间 random.uniform()正好弥补了上面函数的不足,它可以设定浮点数的范围,一个是上限,一个是下限。 random.randint()随机生一个整数int类型,可以指定这个整数的 阅读全文
posted @ 2023-03-06 16:43 sqsq 阅读(35) 评论(0) 推荐(0) 编辑
摘要:torch.chunk(input,chunks,dim=0) 功能:将数组拆分为特定数量的块 输入: input:待拆分的数组 chunks:拆分的块数,指定为几,就拆成几 dim:拆分的维度,默认沿第1维度拆分 注意: 函数最后返回的是元组类型,包含拆分后的数组 如果输入的数组在指定的维度下不能 阅读全文
posted @ 2023-03-06 15:03 sqsq 阅读(234) 评论(0) 推荐(0) 编辑
摘要:1.范数(norm)的简单介绍 概念: 距离的定义是一个宽泛的概念,只要满足非负,自反,三角不等式就可以称之为距离。范数是一种强化了的距离概念,它在定义上比距离多了一条数乘的运算法则。有时候为了便于理解,我们可以把范数当作距离来理解。 在数学上,范数包括向量范数和矩阵范数,向量范数表征向量空间中向量 阅读全文
posted @ 2023-03-06 12:50 sqsq 阅读(4112) 评论(0) 推荐(1) 编辑
摘要:PyTorch中对tensor的很多操作如sum,softmax等都可以设置dim参数用来指定操作在哪一维进行。PyTorch中的dim类似于numpy中的axis。 dim与方括号的关系 创建一个矩阵 a = torch.tensor([[1, 2], [3, 4]]) print(a) 输出: 阅读全文
posted @ 2023-03-05 22:21 sqsq 阅读(185) 评论(0) 推荐(0) 编辑
摘要:张量(Tensors)是一种类似于数组与矩阵的特殊数据结构,我们可以利用张量来表示一个模型的输入,输出以及模型的参数。张量与Numpy的数组十分类似,只是张量可以运行在GPUs等硬件加速器上。实际上,张量与Numpy数组通常可以共享一块内存,避免了复制数据的需要。另外,张量还具有自动微分的功能。 i 阅读全文
posted @ 2023-03-04 21:26 sqsq 阅读(162) 评论(0) 推荐(0) 编辑
摘要:axis: 以axis=0为例,则沿着第0个下标(最左边的下标)变化的方向进行操作,也就是将除了第0个下标外,其他两个下标都相同的部分分成一组,然后再进行操作例如一个3*3的二维数组A(3, 3)如果定义axis = 0,也就是说除了第一个下标可以不同,其他下标必须都相同,那么用C++的数组表示,分 阅读全文
posted @ 2023-03-04 14:32 sqsq 阅读(214) 评论(0) 推荐(0) 编辑
摘要:numpy(): Tensor.numpy():将Tensor转化为ndarray,这里的Tensor可以是标量或者向量(与item()不同)转换前后的dtype不会改变 代码: import torch import torch.nn as nn x = torch.Tensor([1,2]) p 阅读全文
posted @ 2023-03-04 11:52 sqsq 阅读(583) 评论(0) 推荐(0) 编辑
摘要:基本思想是通过网络层时,输入和输出的方差相同,包括前向传播和后向传播。 为啥需要进行xavier初始化: sigmoid激活函数: 参考博客: https://blog.csdn.net/dss_dssssd/article/details/83959474 原理: 使用均匀分布 用值填充输入张量结 阅读全文
posted @ 2023-03-04 09:42 sqsq 阅读(3130) 评论(0) 推荐(0) 编辑
摘要:import torch criterion = torch.nn.MarginRankingLoss(margin = 0.3,reduction='mean') x1 = torch.Tensor([3,2]) x2 = torch.Tensor([1,4]) y = torch.Tensor( 阅读全文
posted @ 2023-03-04 09:02 sqsq 阅读(546) 评论(0) 推荐(0) 编辑
摘要:torch.nn.Embedding: 随机初始化词向量,词向量值在正态分布N(0,1)中随机取值。输入:torch.nn.Embedding(num_embeddings, – 词典的大小尺寸,比如总共出现5000个词,那就输入5000。此时index为(0-4999)embedding_dim, 阅读全文
posted @ 2023-03-04 08:46 sqsq 阅读(907) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示