自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(99)
  • 收藏
  • 关注

原创 pytorch 神经网络初始化方式

神经网络的参数初始化和批量归一化 - Hiidiot - 博客园关于参数随机初始化问题的补充 - 知乎pytorch中的参数初始化方法总结_ys1305的博客-CSDN博客_pytorch参数初始化

2021-09-16 12:44:55 955

转载 PyTorch中的view的用法

在PyTorch中view函数作用为重构张量的维度,相当于numpy中的resize()的功能,但是用法不太一样import torchtt1=torch.tensor([-0.3623,-0.6115,0.7283,0.4699,2.3261,0.1599])则tt1.size()为torch.Size([6]),是一个一行的tensor。现在通过view可以将其重构一下形状。result=tt1.view(3,2)resulttensor([[-0.3623.

2021-08-31 11:55:35 465

转载 torch.Tensor的4种乘法

torch.Tensor的4种乘法torch.Tensor有4种常见的乘法:*, torch.mul, torch.mm, torch.matmul. 本文抛砖引玉,简单叙述一下这4种乘法的区别,具体使用还是要参照官方文档。点乘a与b做*乘法,原则是如果a与b的size不同,则以某种方式将a或b进行复制,使得复制后的a和b的size相同,然后再将a和b做element-wise的乘法。下面以*标量和*一维向量为例展示上述过程。* 标量Tensor与标量k做*乘法的结果是Tensor的每个元

2021-08-10 11:51:40 1373

转载 Numpy怎样给数组增加一个维度 _

Numpy怎样给数组增加一个维度背景:很多数据计算都是二维或三维的,对于一维的数据输入为了形状匹配,经常需升维变成二维需要:在不改变数据的情况下,添加数组维度;(注意观察这个例子,维度变了,但数据不变)原始数组:一维数组arr=[1,2,3,4],其shape是(4, ),取值分别为arr[0],arr[1],arr[2],arr[3]变形数组:二维数组arr[[1,2,3,4]],其shape实(1,4), 取值分别为a[0,0],a[0,1],a[0,2],a[0,3]实操:经常需

2021-08-05 14:48:59 33952

转载 强化学习中的epoch是什么意思

转自deepAIhttps://deepai.org/machine-learning-glossary-and-terms/epochWhat is an Epoch?In terms of artificialneural networks, an epoch refers to one cycle through the full training dataset. Usually, training a neural network takes more than a few epoc.

2021-07-27 15:52:17 1489

转载 shell中各种括号()、(())、[]、[[]]、{}的作用和区别

$()和 ` ` 在 bash shell 中,$( ) 与` ` (反引号) 都可用做命令替换用。例如 version=$(uname -r)和version=`uname -r`都可以是version得到内核的版本号各自的优缺点:1. ` ` 基本上可用在全部的 unix shell 中使用,若写成 shell script ,其移植性比较高,但反单引号容易打错或看错。2. $()并不是所有shell都支持。${ }${ }用于变量替换。一般情况下,$var 与${...

2021-07-22 15:18:23 127

转载 Python numpy模块中transpose函数以及swapaxes函数用法

一、前言众所周知,python的numpy模块在数据分析中占有重要的地位,因其所定义的 ndarray(n-dimensional array,多维数组)对象比之python基本类库所定义的 list 对象而言,具有更高的灵活性和更广的适用范围。更重要的是,由于numpy模块是用C语言编写的,因此计算机在处理 ndarray 对象时的速度要远快于 list 对象。看一个例子:>> import numpy as np my_arr = np.arrange(1000000)...

2021-05-31 14:41:17 918 1

转载 反向传播——通俗易懂

最近在看深度学习的东西,一开始看的吴恩达的UFLDL教程,有中文版就直接看了,后来发现有些地方总是不是很明确,又去看英文版,然后又找了些资料看,才发现,中文版的译者在翻译的时候会对省略的公式推导过程进行补充,但是补充的又是错的,难怪觉得有问题。反向传播法其实是神经网络的基础了,但是很多人在学的时候总是会遇到一些问题,或者看到大篇的公式觉得好像很难就退缩了,其实不难,就是一个链式求导法则反复用。如果不想看公式,可以直接把数值带进去,实际的计算一下,体会一下这个过程之后再来推导公式,这样就会觉得很容易了。 

2021-05-29 11:10:55 489

转载 Python Counter()计数工具

class collections.Counter([iterable-or-mapping])Counter是实现的dict的一个子类,可以用来方便地计数。例子举个计数的例子,需要统计一个文件中,每个单词出现的次数。实现方法如下# 普通青年d = {}with open('/etc/passwd') as f: for line in f: for word in line.strip().split(':'): if word ...

2021-05-27 15:30:47 195

转载 PYTHON3中REDUCE函数的使用

在python3中如果使用reduce需要先导入from functools import reducereduce函数,reduce函数会对参数序列中元素进行累积。reduce函数的定义:reduce(function, sequence [, initial] ) -> valuefunction参数是一个有两个参数的函数,reduce依次从sequence中取一个元素,和上一次调用function的结果做参数再次调用function。第一次调用function时,如果提供ini

2021-05-26 22:58:38 332

原创 快慢指针的概念及其应用

https://blog.csdn.net/hopegrace/article/details/96612831https://www.yuque.com/u2728/code-basis/brd5dm

2021-05-25 23:43:38 79

转载 python 实现矩阵旋转

今天做了一道 leetcode 关于矩阵旋转(rotate-image,点击可查看原题)的题目,自己写了一种解法(基于Python),网上也看到一些比较好的解决方式,借此做一个总结。阅读本文可能需要 5-8 分钟题意分析题目是英文的,但是看这个题目英文理解起来也不是很困难。关键词: 1、matrix: 矩阵 2、2D matrix: 二维矩阵 3、rotate: 旋转 4、clockwise: 顺时针 5、90 degrees: 90度即:我们需要将一个二维矩阵顺时针旋转90度。 理解题意之

2021-05-24 08:42:27 3466

转载 序列解包(for x,y in zip(keys, values):)详解。

序列解包(for x,y in zip(keys, values):)详解。序列解包是一个非常重要和常用的一个功能,使用序列解包可以用非常简洁的方法完成复杂的功能。增强代码的可读性,减少代码量。1.使用序列解包对多个变量同时进行赋值。a, b, c = 1, 2, 3print(a, b, c)test_tuple = (False, 3.5, 'test')d, e, f = test_tupleprint(d, e, f)x, y, z = map(str, range(3)

2021-05-24 07:58:58 3254

转载 Python3 序列解包 *

Python 中有很多很实用的语法糖,这些语法糖可以帮助我们简化代码、更易理解等优点,接下里再看一个 Python3 中特别实用的语法序列解包(序列解包是 Python 3.0 之后才有的语法)。那什么是序列解包呢?先看一个例子:>>> a, b, c = 1, 2, 3>>> a1>>> b2>>> c3>>>这种方法并不限于列表和元组,而是适用于任意序列类型(甚至包括字符串和字节序列)。.

2021-05-24 07:52:36 172

原创 Python中的zip()的用法

https://blog.csdn.net/chengcheng95588/article/details/78784781

2021-05-23 21:15:52 83

转载 python list 与 String 互相转换

1 str0 = '127.0.0.1' 2 3 list0 = str0.split('.') 4 5 print(list0) 6 7 #['127', '0', '0', '1'] 8 9 10 str1 = '#'.join(list0)11 12 #127#0#0#11、list转str假设有一个名为test_list的list,转换后的str名为test_str则转换方法:test_str = "".join(test_list)...

2021-05-20 23:15:05 267

转载 Python - 判断list是否为空

Python中判断list是否为空有以下两种方式:方式一:1 list_temp = []2 if len(list_temp):3 # 存在值即为真4 else:5 # list_temp是空的方式二:1 list_temp = []2 if list_temp:3 # 存在值即为真4 else:5 # list_temp是空的以上两种方法均可以判断出 list_temp 列表是否是空列表,第二个方法要优于第一个方法,在Py

2021-05-19 17:01:04 547

原创 python collections模块详解

https://www.cnblogs.com/dahu-daqing/p/7040490.html

2021-05-14 21:43:52 156

原创 LeetCode刷题值得推荐的几个Python库

https://blog.csdn.net/weixin_43352942/article/details/102882517

2021-05-14 21:18:43 227

转载 Python中collections模块的使用

本文将详细讲解collections模块中的所有类,和每个类中的方法,从源码和性能的角度剖析。一个模块主要用来干嘛,有哪些类可以使用,看__init__.py就知道'''This module implements specialized container datatypes providingalternatives to Python's general purpose built-in containers, dict,list, set, and tuple.* namedtup

2021-05-14 21:16:16 342

转载 Python----知识点(嵌套列表)

嵌套列表(内存地址指向的问题)蛇友们都了解python中的一种数据类型:列表(list)而嵌套列表,就是列表中包含列表。听起来挺简单的,但确实是挺简单的,不过在使用嵌套列表时还是会遇到你意想不到的结果接下来,就来简单介绍下我遇到的坑点:#test为嵌套列表(表示为五行三列)test=[[0] * 3] * 5#试图对第一行第三列赋值test[0][2]=3print(test)当我们试图运行上面的代码时,我们预想的结果应该是:[[0, 0, 3], [0, 0, 0],

2021-05-14 20:06:03 389

转载 平衡二叉树的旋转以及简便方法

刚开始听这个平衡二叉树的旋转,一听就蒙了,后来看了很多视频,有很多的说法。下面来介绍平衡二叉树平衡二叉树:就是每个节点的平衡因子(Balance Factor)(以下简称BF)的绝对值小于等于1,即为0或1。而BF就是每个节点左子树的高度减去右子树的高度。平衡二叉树的旋转共有四种情况:下面说一个定义,新插入的节点为破坏点,而由于破坏点的存在使二叉树失衡(|BF|>1)的节点为被破坏节点    1.LL型:即为被破坏节点的左子树的左子树插入破坏节点。如图:数值为...

2021-04-06 22:24:38 4817 3

转载 排序算法之链式基数排序(详解)

所谓链式基数排序,就是实现基数排序时,为减少所需的辅助存储空间,应采用链表作存储结构,即链式基数排序。而基数排序也叫做多关键字排序,基数排序是一种借助“多关键字排序”的思想来实现“单关键字排序”的内部排序算法。链式的基数排序算法解法思路(默认从小到大):1、以静态链表存储待排记录,并令表头指针指向第一个记录;2、“分配” 时,按当前“关键字位”所取值,将记录分配到不同的 “链队列” 中,每个队列中记录的 “关键字位” 相同;3、“收集”时,按当前关键字位取值从小到大将各队列首尾相链成一个链表;4

2021-03-30 14:02:05 5309

原创 Python使用timeit模块的Timer类查看代码执行的时间并比较不同的列表构建方式的速度

https://blog.csdn.net/qq_36512295/article/details/98510737

2021-03-25 11:00:01 113

转载 ModuleList和Sequential

一、官方文档首先看官方文档的解释,仅列出了容器(Containers)中几个比较常用的CLASS。CLASS torch.nn.ModuleBase class for all neural network modules.Your models should also subclass this class.import torch.nn as nnimport torch.nn.functional as Fclass Model(nn.Module): def __

2021-03-22 18:52:35 471

转载 Python3 * 和 ** 运算符

在 Python 中,* 和 ** 具有语法多义性,具体来说是有四类用法。1. 算数运算* 代表乘法** 代表乘方>>> 2 * 510>>> 2 ** 5322. 函数形参*args 和 **kwargs 主要用于函数定义。你可以将不定数量的参数传递给一个函数。不定的意思是:预先并不知道, 函数使用者会传递多少个参数给你, 所以在这个场景下使用这两个关键字。其实并不是必须写成 *args 和 **kwargs。 *(星号) 才是..

2021-03-04 10:32:54 245 1

转载 torch.cat() 和 torch.stack()

网上很多的示例,都在讨论二维数据(矩阵),单是对于做图像与深度学习的人来说均是三维起步,一般都是4维,下边以4维数据举例对于pytorch中的堆叠与拼接函数stack与cat,二者还是有一定的不同torch.cat这是一个拼接函数(姑且这么说)直接上例子a0=torch.Tensor([[[[1,1,1,1],[2,2,2,2]]]])a1=torch.Tensor([[[[3,3,3,3],[4,4,4,4]]]])torch.Size([1, 1, 2, 4])torch.ca

2021-03-03 23:27:07 788 1

原创 机器学习中的数学

牛顿法和拟牛顿法https://blog.csdn.net/u012294618/article/details/79750224

2021-02-05 21:38:17 85

转载 train set、dev set和test set的三者联系与区别

train set:该集合是用于训练模型的。dev set:该集合是用于在训练模型中评估模型,以促进模型优化的。test set:该集合是用于测试训练好的模型是否有效的。简而言之就是:你使用了train set训练一个模型,这个模型有一个优化目标,利用dev set来评估你的模型,确定你模型离你的目标差距。在不断迭代中不断用train set训练模型,dev set评估模型,不断靠近你的目标直至最优。之后用test set来验证模型效果。注意:dev set 和 test set需要在同

2021-01-11 18:52:56 1326

转载 【深度学习】深入理解Batch Normalization批标准化

Batch Normalization作为最近一年来DL的重要成果,已经广泛被证明其有效性和重要性。虽然有些细节处理还解释不清其理论原因,但是实践证明好用才是真的好,别忘了DL从Hinton对深层网络做Pre-Train开始就是一个经验领先于理论分析的偏经验的一门学问。本文是对论文《Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift》的导读。  机器学习领域有个很重要的假

2021-01-10 19:22:07 104

转载 深度学习中Dropout原理解析

1. Dropout简介1.1 Dropout出现的原因在机器学习的模型中,如果模型的参数太多,而训练样本又太少,训练出来的模型很容易产生过拟合的现象。在训练神经网络的时候经常会遇到过拟合的问题,过拟合具体表现在:模型在训练数据上损失函数较小,预测准确率较高;但是在测试数据上损失函数比较大,预测准确率较低。过拟合是很多机器学习的通病。如果模型过拟合,那么得到的模型几乎不能用。为了解决过拟合问题,一般会采用模型集成的方法,即训练多个模型进行组合。此时,训练模型费时就成为一个很大的问题,不仅训练多个

2021-01-10 19:21:20 432

原创 Pytorch中的model.train()和model.eval()

一、model.train()和model.eval()分别在训练和测试中都要写,它们的作用如下:(1)、model.train()启用BatchNormalization和Dropout,将BatchNormalization和Dropout置为True(2)、model.eval()不启用BatchNormalization和Dropout,将BatchNormalization和Dropout置为False二、区别如果模型中有BN层(Batch Normalizat...

2021-01-10 18:39:53 252

转载 Win10安装CUDA10和cuDNN

官方安装教程CUDA:https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.htmlcuDNN:https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html#installwindowsWIN10安装CUDA10CUDA Toolkit 10.0 Download:https://developer.nvidia.com/cud

2021-01-09 19:14:40 118

转载 torch.gather() 和torch.sactter_()的用法简析

https://blog.csdn.net/Teeyohuang/article/details/82186666?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-4.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-4.control

2021-01-03 19:44:50 140

转载 不同框架下的默认图片通道顺序

不同框架下的默认图片通道顺序caffe: NCHWpytorch: NCHWmxnet: NCHW海思bgr: NCHWNCNN: CHWtensorflow: NHWCopencv: NHWC瑞芯微rknn: NHWCscipy.misc: NHWC

2021-01-02 16:36:17 260

原创 [pytorch笔记] scatter_的使用

scatter_(input, dim, index, src)将src中数据根据index中的索引按照dim的方向填进input中.1 >>> x = torch.rand(2, 5)2 >>> x3 4 0.4319 0.6500 0.4080 0.8760 0.23555 0.2609 0.4711 0.8486 0.8573 0.10296 [torch.FloatTensor of size 2x5]1) dim =

2020-12-28 15:24:17 630 1

转载 NumPy 三维数组以及高维数组切片和索引

1,Indexing and slicing numpy arrayshttps://www.pythoninformer.com/python-libraries/numpy/numpy-and-images/In this section we will look at indexing and slicing. These work in a similar way to indexing and slicing with standard Pythonlists, with a few d.

2020-12-26 20:54:33 1466 1

转载 Numpy多维数组

创建矩阵我们可以传递以下形式的Python列表,让NumPy创建一个矩阵来表示它们:我们也可以使用上一篇中提到的相同方法ones(),zeros()和random.random()等,只要我们给它们一个元组来描述我们正在创建的矩阵的维度:另外,还可以从磁盘读取数组,无论是标准格式还是自定义格式。矩阵计算如果两个矩阵的大小相同,我们可以使用算术运算符来进行两个矩阵的计算。NumPy将对两个矩阵的对应位置进行操作处理。当两个矩阵的大小不同,只有当其中一个矩阵的维度为1时(例如矩阵只有一...

2020-12-26 20:49:52 243

转载 Numpy&Pandas

一、Numpynumpy是以矩阵为基础的数学计算模块,提供高性能的矩阵运算,数组结构为ndarray。首先需要明确数组与列表的区别:数组是一种特殊变量,虽与列表相似,但列表可以存储任意类型的数据,数组只能存储一种类型的数据,同时,数组提供了许多方便统计计算的功能(如平均值mean、标准差std等)。那么numpy有哪些功能呢?首先在使用前要导入该模块(导入前要安装,方法自行搜索吧(*^-^*)),代码如下:import numpy as np1. 通过原有列表转化为数组2.

2020-12-26 20:29:45 159 1

转载 为什么用 Numpy 还是慢, 你用对了吗?

最近在写代码, 编一个 Python 模拟器, 做强化学习或机器学习的 simulation, 好不容易用传说中 Python 里速度最快的计算模块 "Numpy" 的写好了, 结果运行起来, 出奇的慢! 因为一次simulation要一个小时, 要不停测试, 所以自己受不了了.. 首先, 我的脑海中的问题, 渐渐浮现出来.我知道 Pandas 要比 Numpy 慢, 所以我尽量避免用 Pandas. 但是 Numpy (速度怪兽), 为什么还是这么慢?带有写代码洁癖的我好好给 google ...

2020-12-26 19:46:00 1575 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除