- 博客(24)
- 收藏
- 关注
转载 编译型语言和解释型语言的区别(转载)
转载来源在说编译型语言和解释型语言的区别之前,我们先来了解一下什么是编程语言。其实,程序指的就是一系列的指令,用来告诉计算机做什么,而编写程序的关键在于,我们需要用计算机可以理解的语言来提供这些指令。为了有效避开所有影响给计算机传递指令的因素,计算机科学家设计了一些符号,这些符号的各有其含意,且之间无二义性,通常称它为编程语言。我们编写的源代码是人类语言,我们自己能够轻松理解;但对于计算机硬件(CPU)源代码简直就是天书,根本无法执行,计算机只能识别某些特定的二进制指令,在程序真正运行之前必需将源代码转
2021-04-11 17:14:20 348
原创 递归中的变量作用范围
结合 最常见的二叉树的深度遍历,比如中序遍历要把结果放到array这个数组里,我们自然想到以下几种方法1.array作为全局变量(成员变量),递归函数的列表参数只有根,递归是void2.array要返回ArrayList ,参数列表无array3.array是void,参数列表有array再结合前面那个链表转换二叉搜索树的head...
2020-10-30 18:17:21 747
转载 java继承中的构造方法(转载)
转载自这篇博客小编现在学习了一下继承中的构造方法,觉得还是总结一下比较好。【特点】1、子类的构造的过程中必须调用其基类的构造方法。2、子类可以在自己的构造方法中使用super(argument_list)调用基类的构造方法。3、如果子类的构造方法中没有显示地调用基类构造方法,则系统默认调用基类无参数的构造方法。使用this(argument_list)调用本类的另外的构造方法如果调用super,必须写在子类构造方法的第一行4、如果子类构造方法中既没有显示调用基类构造方法,而基类中又没有无参的
2020-10-10 12:08:12 274
原创 反向打印链表元素的四种方法(包含递归)
方法一:放入数组(java中有ArrayList创建动态数组)方法二:反转链表(这种方法改变了链表结构,原先的链表被破坏,不存在了) 反转链表也就好几种方法 1)边遍历边反转 2)递归法 3)头插法 leetcode有这个题方法三:利用栈(java中有LinkedList创建栈)正向遍历链表的同时,压值入栈,最后逐个出栈显示方法四:递归法!!!(学习理解这种思想,其实递归就是入栈出栈的过程)前三种都很简单,这里只写一下第四种递归方法,虽然时间空间复杂度都不优秀,但可以理解一下public cla
2020-10-08 18:03:44 675
转载 java 对象引用 赋值
Java对象及其引用关于对象与引用之间的一些基本概念。 初学Java时,在很长一段时间里,总觉得基本概念很模糊。后来才知道,在许多Java书中,把对象和对象的引用混为一谈。可是,如果我分不清对象与对象引用,那实在没法很好地理解下面的面向对象技术。把自己的一点认识写下来,或许能让初学Java的朋友们少走一点弯路。 为便于说明,我们先定义一个简单的类: class Vehicle { int passengers; int fuelcap; int m
2020-09-22 19:24:51 201
原创 实验室服务器下非root用户多版本CUDA安装配置(超详细)
实验室服务器的cuda版本是10.1 我因为跑一个实验需要使用10.0的cuda,于是想自己多配置一个cuda10.01.显卡驱动这个由管理员安装,实验室服务器已经有了,10.1都能用,那么<=10.1版本的cuda都能用这个驱动,所以这一步不用做什么2. 下载安装cuda10.0去官网下载你想要的版本,我想要10.0 我下载的是.run文件,比较简单进入你下载了cuda10的run文件的目录执行以下:注意到我第二个安装命令后面多了个 --temp=xxxx,这是因为我没加的时候,提示
2020-07-07 05:15:21 7825 5
原创 数据之间的相似度的度量 马氏距离 欧氏距离 PCA相关
目前凭印象说一下,可能不准,反正说给我自己的哈哈、PCA就是找出一些特征的线性组合,这些线性组合能够有效地区分出不同数据点,数据点在这些PCA找出来的方向上的投影点方差最大(同时重建误差最小,参考PCA)欧氏距离是最直观最简单的,也就是两个点之间的几何距离,也就是原始数据各个维度上坐标值的差的平方之和标准化欧式距离是针对简单欧式距离的缺点而作的一种改进方案。标准欧式距离的思路:既然数据各维分...
2020-03-15 18:00:28 2533
原创 K折交叉验证 (cv)
之前一直理解错了我知道K折交叉验证是在模型选择过程(model selection)中用来评估候选模型的。把整个训练集分成k份,一共进行k次评估,每次用k-1份训练,用1份来验证。之前以为这k次是迭代的,其实不是!注意sklearn做交叉验证的时候,需要使用相同的estimator,所以用了clone!参考1参考2...
2020-03-12 19:24:16 1083
原创 Softmax回归
softmax回归和线性回归都是将输入特征与权重做线性叠加,然后不断利用标签与输出结果算损失函数,再做小批量随机梯度下降来不断优化参数.不同点:1.线性回归解决连续值的预测问题softmax解决离散的分类问题2.线性回归直接将线性运算的值作为输出值,当预测值softmax回归将线性运算的值进一步处理做softmax运算(指数运算并归一化,来代表概率),最后输出值的个数等于类别数,值表示的...
2019-11-11 15:05:29 128
原创 神经网络的简洁实现(pytorch)
看3.10多层感知机的简洁实现,里面结构很清晰先把该放的层,从输入层到输出层一个个放进去再把参数通过如下来赋初始值:for params in net.parameters():init.normal_(params, mean=0, std=0.01)...
2019-11-11 15:05:13 253
原创 多层感知机 MLP
x1到x4是不同特征,隐藏层就是新特征生成层,每个隐藏单元都是一个新特征生成器(把前面的每个样本的所有特征集合起来生成该样本的一个新特征)各层的之间输入输出量肯定和样本数n有关系,但是中间的这种隐藏层中隐藏单元的权重参数个数根本不考虑样本数,它们就是个把同一个样本里的特征值(或新特征值)集合赋权重相加的机器,来多少样本就能处理多少样本,他的权重参数只和前一层传递过来的数据(形状为n×w1的(新)...
2019-11-11 15:05:01 177
原创 torch.cuda.is_available()结果为false
我猜测是显卡驱动,cuda,pytorch不匹配(很可能是cuda版本高,显卡驱动版本低)先查看驱动版本 nvidia-smi 发现是384.130然后查看cuda版本1、我直接用conda list查看cudatoolkit发现是cuda版本是102、用nvcc -V查看,结果命令运行不了让我安装东西,我稀里糊涂复制了提示里的命令,安装完毕后用nvcc -V查看发现cuda是73、用c...
2019-11-11 15:04:51 73830 8
原创 安装pytorch等步骤
1.安装显卡驱动2.安装cuda3.安装与Cuda对应的cudnn4.安装anaconda(里面也自带cudatoolkit和cudnn,不过还是要安装前面的,才保证功能齐全)5.重新配置下载的源,改成清华镜像6.新建所需环境,如用到pytorch的话可以建一个用pytorch来深度学习的环境比如mytorch7.去pytorch官网得到安装pytorch的命令语句,在anaconda...
2019-11-11 15:04:25 246
原创 自定义网络模型
看看python 函数 self kwargs.比如4.4的centerlayer没参数,别的有参数,那么函数定义里面哪个指的是传入的tensor好像懂了,通过4.4.2,自定义带参数的层,利用parameterdict定义所需参数, forward函数的参数列表就是传入的地方我感觉init函数是初始化参数,声明实例的时候自动调用,比如net=MyDictDense(),这时候init函数里面...
2019-11-11 15:04:16 214
原创 迭代器,读取数据相关
源代码把类似列表的东西(被用来读取数据集了,只不过列表里面元素是一个一个的,这里面每个元素是成批成批即batchsize大小的批数据)转化成了迭代器,这样就可以使用迭代器的next函数只测试里面的一个元素(即一批(256)样本)了(虽然他只输出了前9个,但是用模型预测了一批256个样本)如果不用iter函数会咋样呢?上面是《动手学深度学习》3.6的代码,被注释掉的是源代码,后面是我自己改了...
2019-11-11 15:03:57 467
原创 nn.linear()函数
渣渣的第一篇nn.linear()函数新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入nn.linear()函...
2019-11-11 15:03:33 50093 4
原创 从LeNet 整体了解卷积神经网络模型的定义流程
可以看看nn.Conv2d的用法,以及卷积层和全连接层的配合```pythonclass LeNet(nn.Module): def __init__(self): super(LeNet, self).__init__() self.conv = nn.Sequential( nn.Conv2d(1, 6, 5), #Conv...
2019-11-11 15:03:23 156
原创 Python星号*的使用 打包和拆包
参考1参考2*可以用来打包和拆包打包这时候* 一般出现在函数定义里,用来收集参数,来几个就接收几个,并打包成元组拆包*放在迭代器变量(比如列表,元组)前,把迭代器变量拆解成多个变量。 可以用来当做实参赋值给函数的多个形参...
2019-11-11 15:02:57 425
原创 模型的构造
最基本的这种,需要在init函数里定义好变量(各层啥的,参数的话可以自己定义),还在自己定义前向计算函数forward出自3.3.3也可以直接用nn.Sequential()容器来把各个层按顺序放在他的初始化函数里来创造实例,也可以在创造实例时省略,再用add_module函数逐渐加层。不用自定义前向计算函数,但不够灵活出自3.3.3也可以把以上两者结合,在传统的class定义方法中,在i...
2019-11-11 15:02:00 374
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人