DL学习记录
推送本地文件至github
git
的使用
-
如果之前没有在本机使用过
git
命令, 首先执行:
git git config --global user.name typeYourName
和git git config --global user.email typeYourEmail
. -
在本地创建文件夹,
cd
进入,git init
. -
将本机密钥加入
github
以使用ssh
:
cd ~/.ssh
, cat id_rsa.pub
得到共有密钥, 复制共有密钥,进入github
个人setting, 将密钥粘贴至SSH.
-
推送已有文件夹:
git remote add origin yourResposityAddress
将本地文件与远程云端仓库建立连接.
git branch -M main
,git push -u origin main
将本地上传至远程仓库.git push -u
表示推送当前分支. -
出错:
fatal: Authentication failed for 'https://github.com/username/repository.git/'
解决连接 -
将本地修改上传至云端:
git push -u origin main
Tudui深度学习流程
代码见: https://github.com/CodesChangeHair/LearningDL/tree/main/Tudui
由tensorboard
得到的训练过程:
测试模型:
利用IDE
调试代码, 可得到CIFAR10
数据的类别:
- 收获:
DL
训练的大致流程,使用tensorboard
可视化训练过程以及模型图,模型的保存以及加载还需要进一步了解.
LeNet实现
LeNet
最初是为了解决手写数字识别问题,原文只用了初学机器学习都会遇到的MNIST
数据集.
LeNet
是早期成功的神经网络应用. 网络先用卷积层学习图片的空间信息,通过池化层降低图片的敏感度(代码中的features
块),
最后使用全连接层将信息转换到类别空间(代码中的classifier
块).
LeNet架构:
代码见: https://github.com/CodesChangeHair/LearningDL/tree/main/LeNet
运行效果:
收获:
torch.tensor
的通道为[batch, channel, height, width]
.torch.nn.CrossEntoryLoss()
包含了Softmax()
, 所以实现LeNet
时最后一层分类不需要加上Softmax
层.with torch.no_grad()
,with
是上下文管理器, 在with
中的代码不会计算梯度,这有两个好处: 减少计算开销以及内存开销.git reset .
将暂存器所有内容重置, 与上一次commit
同步,工作区不变.- 初步了解
.gitignore
.
AlexNet
AlexNet架构
代码见: https://github.com/CodesChangeHair/LearningDL/tree/main/AlexNet
数据集见: https://storage.googleapis.com/download.tensorflow.org/example_images/flower_photos.tgz (参考UP主)
分别使用学习率为\(0.002, 0.001, 0.0002\)训练的效果:
\(lr=0.002\)
\(lr=0.001\)
\(lr=0.0002\)