DL学习记录

推送本地文件至github

git的使用
  • 如果之前没有在本机使用过git命令, 首先执行:
    git git config --global user.name typeYourNamegit 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
运行效果:

收获:

  1. torch.tensor的通道为[batch, channel, height, width].
  2. torch.nn.CrossEntoryLoss()包含了Softmax(), 所以实现LeNet时最后一层分类不需要加上Softmax层.
  3. with torch.no_grad(), with是上下文管理器, 在with中的代码不会计算梯度,这有两个好处: 减少计算开销以及内存开销.
  4. git reset .将暂存器所有内容重置, 与上一次commit同步,工作区不变.
  5. 初步了解.gitignore.

AlexNet

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\)

工程细节: 当卷积核大小与图片大小计算不能整除时,会丢弃最左侧和最右侧的像素,例如: ...
posted @ 2023-08-29 14:46  代码改变头发  阅读(3)  评论(0编辑  收藏  举报