如何在自己的电脑上复现开源论文里的代码

刚开始入门科研的小伙伴们总是苦于开源论文中的代码无法在自己的电脑上复现,接下来以文章High speed and high dynamic range video with an event camera作为线索来讲解如何在自己的电脑上运行论文里的代码。

步骤一:找到开源代码的链接

不少开源论文在文中都附有代码的链接,点击访问即可找到对应的github工程,比如像这篇文章

如果没有的话也不必惊慌,如果论文是开源的,大多数情况下都可以去一些论文代码集成的网站上找到,这里推荐papers with code。打开网址,搜索框输出文章标题,即可搜索到代码链接:
此处选择你需要的代码版本:

步骤二:下载并解压

进入对应的github工程,点击下载:

得到对应代码的压缩包,进行解压。
大多数情况下,解压后的文件结构会形如这样:

每一个文件夹对应着代码的不同部分,里面往往还会有一个README.md。

步骤三:阅读README

如果希望让我们的代码在自己的电脑上跑起来,我们就需要按照这里面的步骤去一步一步进行。实际上你可以使用markdown编辑器打开README文件,但是这里为了照顾大多数伙伴们,右键使用记事本将其打开进行阅读。

步骤四:安装相关依赖包、数据集与预训练权重


按照README中的要求,安装相关的依赖。比方说这里的reamme建议使用anaconda安装如下版本的相关的依赖包:

PyTorch >= 1.0
NumPy
Pandas
OpenCV

我们不一定需要完全遵从里面的每一个命令,例如在win10上的anaconda下载可使用图形化界面;如果你使用pip管理python包也可以使用pip,等等。总之,尽最大可能满足里面所写的对依赖包的要求。
随后根据提示从对应的网址下载预训练权重和数据文件。同样,我们可以将网页复制到浏览器直接进行下载,而不必使用命令进行下载。

这篇文章的REAMDE里面并没有写清楚下载后的文件应该放到哪里。根据经验,对应的文件应该放到对应名称的文件夹下。我们打开代码的当前目录,找到名称为data和pretrained的文件夹,将下载好的数据和预训练权重分别拷贝到这两个文件夹中。

步骤五:运行代码

接下来我们需要开始尝试运行代码。由于代码一般都是在linux上使用命令行运行,故在我们自己的电脑上也应该使用命令行运行代码。使用win+R,运行cmd,cd到当前目录,输入README中提到的运行命令:

python run_reconstruction.py -c pretrained/E2VID_lightweight.pth.tar -i data/dynamic_6dof.zip --auto_hdr --display --show_events

一般情况下代码就可以运行了。
当然如果你希望代码被多次运行,且使用可记录的参数,你可以在当前目录下新建一个txt文件,输入内容:

cmd /k "python run_reconstruction.py -c pretrained/E2VID_lightweight.pth.tar -i data/dynamic_6dof.zip --auto_hdr --display --show_events"

保存为后缀为bat的文件并双击运行,二者原理都是一样的。
至此,我们的代码可以在自己的电脑上运行了。

重要提醒:不少情况下,论文里的代码无法在自己的电脑上运行,可能是出于一下几个原因:
1.没有按照README里面的步骤进行操作
2.自己电脑上的依赖项、数据集、预训练权重等相关文件没有安装完整或者版本不匹配
3.Linux代码在windows上不兼容,可以通过在自己的电脑上安装虚拟机解决
4.可能是因为自己的电脑上的硬件不支持,例如报错显存不够。这时可以通过调整代码的运行参数来解决,例如选择较小的batch size或者分辨率
5.其它错误。常见的解决方案是将所报错误在网上进行搜索,查询论坛或者对相关硬件、依赖包提供技术支持的网站进行解决

如何在自己的电脑上复现开源论文里的代码相关推荐

  1. 复现开源论文代码总结

    复现开源论文代码总结 1. 找到开源论文的代码 2. 阅读README.md说明文档 3. 代码下载与解压 4. 配置环境.下载数据集与预训练权重 5. 运行代码,排错 参考   随着深度学习的发展, ...

  2. 电脑上怎样下载喜马拉雅里的 Mp3

    电脑上怎样下载喜马拉雅里的 Mp3 工具: Chrome 浏览器 过程: 1.打开Chrome 按F12.会弹出 Developer Tools 窗口.点击 NetWork ,观察访问的网页情况. 2 ...

  3. 一文解读苹果 M1 芯片电脑上的开源软件

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 前言 上周五,我们分享了关于苹果最新的 M1 芯片不支持 ...

  4. linux下光盘文件怎么拷到电脑上,怎么把光盘里的东西复制到电脑 拷贝光盘内容方法【图文】...

    软件安装盘用过之后,就暂时没用了,但如果还有另外的一个大的内存条,也是可以用的,但那样岂不是浪费空间?换一种说法,如果哪天你的机子中毒了,或是不小心,删掉了软件安装后的重要文件,那现在就是光盘发挥用处 ...

  5. 手机上的文件夹在电脑上不显示/手机里的视频图片在app中找不到

    原因:(转 转 转) 楼主你好 这样的问题是因为mtp这个机制问题,我也经常遇到这样的问题,论坛有一些简单的办法,希望能帮到你, 1.这种情况一般是因为刚放进去,或者文件刚下载完,链接电脑还没有识别, ...

  6. 4-9-6 tf.keras入门(附带复现cvpr论文流程与代码)

    文章目录 前言 keras学习 keras 建模介绍 keras的三个层级 sequential model 的要点 keras layer的理解 sequential 简单演示 Function A ...

  7. 据说电脑上可以刷朋友圈啦!又多了个上班摸鱼的途径?

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 前言 上个月和大家一起分享过,最新的苹果M1芯片上支持的 ...

  8. 一台电脑上配置多个git账号(gitee),向不同git线上仓库提交(命令行/TortoiseGit同时) 代码

    目录 1.一台电脑上实现与多个git在线仓库提交代码的实际场景 2.安装git TortoiseGit 生成SSH key 和 git的.ssh目录 创建并配置config文件 2.1.首先必须先安装 ...

  9. mmpose遇坑计--使用mmpose在mpii数据集上复现HRnet时PCKh@0.1较低解决方法

    一.遇到问题 最近在学习HRNet,在github上下载了作者的源码并在自己的电脑上复现,但是结果低了0.2个点,复现了几次也没有达到预期,听说商汤科技 OpenMMLab 中有大量代码库和模型库且调 ...

最新文章

  1. 第二十课.卡尔曼滤波器
  2. 【Unity3D】 KeyCode 键码
  3. java游戏怎么导入jme3,Java Camera.getProjectionMatrix方法代码示例
  4. 跨链Cosmos(3)IBC协议
  5. java并发编程之Semaphore
  6. Android中的ClassLoader与dex文件加密实现分析
  7. Linux 利用yum源安装subversion(svn)客户端
  8. java中ra怎么解释_JAVA个人相关知识总结
  9. python实现统计你一共写了多少行代码
  10. python能做人机界面吗_人机交互程序 python实现人机对话
  11. 基于HAProxy+Keepalived高可用负载均衡web服务的搭建
  12. 防控疫情,我们在行动——爱奇艺战“疫”全纪录
  13. C/C++ 控制台输入
  14. 苹果Mac软件开发工具:Xcode 让开发者如虎添翼
  15. random.choice与random.choices
  16. 清华大学计算机系网络课程视屏,清华大学计算机系网络课程
  17. phpstorm设置鼠标滚动缩放代码字体大小
  18. 存储数据使用数据库而不用EXCEL
  19. 估值3000亿,中国最神秘电商公司,征服美国年轻人
  20. 想做IT行业项目管理,面向客户方向的,考ITIL和PMP哪个更好一些?

热门文章

  1. gradle配置和使用
  2. 前端简单实现当日时间只展示时间,否则只展示年月日
  3. 企业产品服务市场调查方法
  4. 神犇营-my1034-A + B = C
  5. ubuntu nginx安装完成无法解析php解决方法
  6. Alpine Linux常用命令
  7. MIUI又出大BUG,把10年米粉整破防了
  8. 中文LLaMA模型和指令精调的Alpaca大模型:中文数据进行二次预训练,进一步提升了中文基础语义理解能力
  9. AE 3D粒子插件trapcode particular 新版本
  10. 有一分数序列: 输入正整数n,计算该数列前n项的和。