在进行神经网络反复训练试验后发现,每次的训练结果都有微小的波动,根据查阅相关资料,总结了神经网络模型代码复现的主要注意的几点:

首先强调,自己用的试验平台是PyTorch 1.9 GPU版本,CUDA为10.2版本,显卡为GTX1050Ti。

1,首先要固定代码里的所有的随机状态,包括torch自身的,这方面可以参考博主的帖子:

PyTorch的可重复性问题 (如何使实验结果可复现)_hyk_1996的博客-CSDN博客_pytorch复现

2,明确PyTorch的GPU版本与CPU版本的训练结果不一致,猜测可能是二者硬件架构的原因,也可能是GPU版本使用CUDA平台计算,CUDA平台设计时做了部分优化与精度取舍,纯属个人盲猜;自己用的是GPU 1050Ti,CPU为AMD的,实验结果是GPU版本的训练后的准确率比CPU的还高一点~~~

3,只要固定PyTorch与CUDA的版本保持一致,保证使用相同的随机种子控制所有随机状态,计算结果是完全一致的(到亿分之一精度上也是完全一致的),和硬件GPU型号是否相同没有关系,硬件只是起到了计算的作用,具体怎么计算,怎么取舍进度还是软件计算平台的事。

以上所有内容都是根据自己的实验结果的总结,都有自己的实验结果论证,具体对不对是不是普遍适用的正确观点,自己也不知道。

深度学习的代码实验结果复现问题相关推荐

  1. 深度学习论文 代码复现 环境配置操作

    ***深度学习论文代码复现 前置工作 安装Ubuntu18.04 安装Nvidia显卡驱动 安装anaconda 安装CUDA与cuDNN 通过软链接的修改实现多版本CUDA间的切换 将~/.bash ...

  2. 深度学习入门|利用Tensorflow复现Yolov1/v2

    深度学习入门|利用Tensorflow复现Yolov1/v2 使用PaddlePaddle解决论文复现问题 首先开始进行环境的配置 步骤1.安装Anaconda 官方网站:www.anaconda.c ...

  3. 如何阅读一份深度学习项目代码?

    犹豫很久要不要把读代码这个事情专门挑出来写成一篇推文.毕竟读代码嘛,大家可能都会读.而且笔者个人读的和写的代码量也并不足以到指导大家读代码的程度.但笔者还是决定大胆地写一点:就当是给自己设立今后读代码 ...

  4. 深度学习项目代码阅读建议

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达本文转自|机器学习实验室 犹豫很久要不要把读代码这个事情专门挑出来写 ...

  5. 怎样高效阅读一份深度学习项目代码?

    犹豫很久要不要把读代码这个事情专门挑出来写成一篇推文.毕竟读代码嘛,大家可能都会读.而且笔者个人读的和写的代码量也并不足以到指导大家读代码的程度.但笔者还是决定大胆地写一点:就当是给自己设立今后读代码 ...

  6. (一)深度学习项目代码结构

    1.代码结构 参考链接:李宏毅2021年机器学习HW2 Phoneme Classification 2.代码细节 获得运行设备 这两种写法的返回值都是字符串 #check device def ge ...

  7. 《python深度学习》代码中文注释

    <python深度学习>由Keras之父.现任Google人工智能研究员的弗朗索瓦•肖莱(François Chollet)执笔,详尽介绍了用Python和Keras进行深度学习的探索实 ...

  8. (机器学习/计算机视觉/深度学习)代码

    PRML 一书的 matlab implementation(官网:http://prml.github.io/) 一位计算机视觉学术牛人的 Github(C++ code)(可作为自己的敲门砖,.s ...

  9. 基于Pycharm运行李沐老师的深度学习课程代码

    最近在b站看李沐老师的深度学习课程,受益颇多.不过觉得光看视频实在是不过瘾,最好还是能实际的玩起来.鉴于我还是习惯使用pycharm,且不需要过多的中间过程展示,所以代码的编写基本都是在pycharm ...

  10. PyInstaller打包深度学习模型代码详细教程

    前言:由于工作需求,需要使用Pyinstaller库将Python脚本打包成exe文件,特此花几天时间查找资料,进行实验.将过程做个梳理,记录下来,方便自己和他人日后查询. 目录 一.安装PyInst ...

最新文章

  1. Windows Server 2016 DNS Policy Geo-Location 1
  2. 3D Human相关研究总结:人体、姿态估计、人体重建等
  3. web前端性能分析--实践篇
  4. Spring源码:FactoryBean
  5. android最好的3d游戏机,终极盘点:Android必玩十大超猛3D游戏
  6. 利用索引数组排序 不改变原数组值的位置
  7. ssm访问html乱码_SpringMVC+jdbc和SSM整合
  8. smartSVN 分支与合并
  9. Visio有用的画图技巧
  10. ssr的pac中加入学校图书馆数据库访问pac
  11. 微软雅黑与等宽字体Source Code Pro下载
  12. 计算机培训心得ppt展示,ppt制作学习心得
  13. 四进制加法(运算符重载)
  14. 4个字母的排列组合c语言,1,2,3,4四个数字有多少种排列组合,是怎样的
  15. 2020.10.21--PS--梦幻柔焦、中途曝光、制作素描照片
  16. AutoGluon-教程1-简单的入门模型
  17. linux中ifconfig无法显示ip地址
  18. 安装Go,配置Go环境(实力亲测)
  19. 使用百度AI开放平台实现图像识别
  20. tidb-cdc日志tables are not eligible to replicate

热门文章

  1. java小游戏跳棋_Java跳棋小游戏源代码
  2. Unix操作系统发展历史
  3. (转)EBWin格式辞典的安装使用
  4. Fiddler2用于手机抓包时的配置方法
  5. Ansible自动化运维
  6. 【Python玩转自动化运维】Python-基础1
  7. everything的安装后初始设置
  8. 人工智能在生活中的应用都有哪些?
  9. 医院耗材管理系统开发_0
  10. Python代码:用户登录注册