- 博客(9)
- 收藏
- 关注
原创 Linux安装node.js过程记录
要想使用vue和npm,安装node.js是必要的。这里介绍一下如何在ubuntu上安装node.js,以及一些踩坑记录。其中,nvm是node.js的包管理器,这里先行进行了安装。根据node.js官网上的说明进行安装(
2024-07-30 12:51:07
135
原创 PyTorch原地操作
其实这样的操作称为原地操作(in-place operation),即将操作的结果分配给先前分配的数组或变量。然而这只适用于PyTorch,即我们用它操作tensor的时候是可行的;但是在纯python中,+=、-=、*=、/=这些运算符,并不能实现原地操作。我们发现在执行add()后,变量的值并没有改变。这是因为函数里的加法操作实际上会导致变量a被定义为局部变量并被重新分配内存,可以看到,使用原地操作后,变量的值被改变,因为这是直接在原有内存位置改变值。这样的形式能够减少操作的内存开销。
2024-02-17 22:37:01
336
1
原创 《深度学习入门》第七章笔记-卷积神经网络
有时我也会这样问自己:你们不是教过人工智能课程吗?为什么还要看一遍《深度学习入门》?其实原因有很多,其中一个重要的原因就是当时没学明白卷积神经网络。但是看完本章以后,有一种幡然醒悟的感觉:原来这么简单!CNN主要难的地方我认为就一个,就是理解RGB图象是3通道的,而卷积核可以有很多个,这就导致特征图可以是任意多通道的。理解了通道,就能理解输入输出数据的N, C, H, W是怎么回事;理解了输入输出,就能看懂各种模型的结构了。
2023-12-26 23:50:09
410
1
原创 《深度学习入门》第六章读书笔记-与学习相关的技巧
在pytorch中,在torch.optim中集成了很多优化器,如SGD,Adadelta,Adam,Adagrad,RMSprop等,这些优化器自带的一个参数weight_decay,用于指定权值衰减率,相当于L2正则化中的λ参数。实际上,SGD相比于其他的optimizer来说只能算是弟中之弟,原因在于它的收敛速度太慢,而且容易卡在局部最优化的位置。Batch Norm的思路是调整各层的激活值(激活函数的输出值)的分布,使其具有适当的广度。这其中,常用的方法就是给损失函数加上权重的L2范数。
2023-12-26 23:49:31
851
1
原创 《深度学习入门》第四、五章读书笔记
这里将第四章与第五章放在一起进行总结与回顾,主要是因为通过对比第四章中的数值微分法,以及第五章中的误差反向传播法,能够很好的理解二者的原理以及优劣。第4章开头很清晰地描述了机器学习与深度学习的区别。例如,在手写数字识别任务中,机器学习方法会先将图像转换为合适的特征量,例如SIFT、HOG等,然后再使用机器学习中的SVM、KNN等进行学习;而深度学习则不需要人为选定特征量,直接使用神经网络对所有参数进行学习即可。对比可以看出:机器学习需要人为设计专门的特征量,而深度学习则不用。
2023-12-26 23:48:18
910
1
原创 np.argmax()中,axis=0/1分别是对列/行求最大值
axis=0时,np.argmax()会取出矩阵中每一列最大的数;axis=1时,np.argmax()会取出矩阵中每一行最大的数。在numpy中,矩阵的第0维为列,第1维为行。
2023-12-06 23:51:13
444
原创 Failed to fetch XXX 404 Not Found问题解决
问题解决很简单,只需要运行一下 `apt-get update`即可,并不是清华源或者网络的问题。
2023-12-02 22:28:20
923
原创 如果printf中有\n则不需要fflush
fflush(stdout)会清空当前缓冲区内容,使得新的进程不会输出B。如果输出的是"B\n",则fflush(stdout)加不加就无所谓了,因为换行符会自动清空缓冲区内容。
2022-11-09 17:13:19
232
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人