blogs

引言

“工欲善其事,必先利其器”当然说的很好,行军打仗,选择一件称手的兵器自然是上阵的前提。作为科研工作者,我们怎么做文献调研?怎么阅读和管理文献?怎么更加高效的设计和实施实验?如何快速完成论文写作中语言润色、画图、编辑公式等等都是费时费力的工作等等。作为计算机科学方向科研小白的我刚入门时,自己摸索文献调研、实验记录、论文写作等等走了不少弯路,很多时候一问老师同学或者上网找经验,原来有捷径啊?原来不需要一个个手动操作?由此便有了这一篇博客,记录和分享科研经历中的一些有意思的工具。


领域调研/文献管理

paper 搜索/下载

开题的时候想快速调研一个领域?有了 idea 想快速找到相关文献?灵感枯竭想找点有意思的 paper?别急,这里都有。

工具/网站 特点
搜索引擎 Google/Edge 信息丰富。一些相关博客、开源repo等也会列出
插件 Scihub addonSangerboxNoteEasyscholar 装上插件的浏览器直接如虎添翼,这几个插件显示论文期刊分区、IF、学科分类,帮我们方便快速定位当前文章质量
学术网站 Google scholar 查找文献的首选,论文质量比较好,还有一些社交订阅等功能,但是文章更新稍有延迟
Semantic scholar 支持语义搜索,文献更新较快
Web of Science 资源丰富,非免费
中国知网 除此之外的万方、维普维普等对中文文献非常友好
工具 关联文献:Connected paper & Research rabbit & litmaps 利用这两个工具,给定一篇paper,迅速找到相关的paper,标记时间和引用,快速找到该领域的大牛和重要paper
领域调研:Paper digest & aminer
利用LLM,输入领域描述可以帮助写一个简单review,列出related paper.还可以提问(指定会议),比如快速消化ICLR 2024的热点paper,方向。并且aminer 支持按期刊水平等进行检索,可以根据排名方便找到该领域的重要paper、大牛以及新星,侧重AI领域的paper
其他: Research gate 学术圈的facebook
下载 期刊官网 直接检索,进入官网下载
Arxiv
一个收集物理学、数学、计算机科学、生物学与数理经济学的论文预印本的网站
Scihub 懂的都懂
Anna’s Archive 电子书pdf,资源丰富
科研通 各种网站入口集锦
阅读/管理

找到了相关的 paper,如何快速阅读?如何更加高效的管理文献?问题接踵而来,下面则是应对之策。

工具/网站 特点
LLM支持工具网站:
chatpdf & txyz.ai &chatgpt & claude
LLM驱动的文献快速阅读工具,通过上传pdf或者url等,帮你快速总结文献核心要点。
笔记:Notion & 飞书 两个工具排版非常方便,支持多人协作文档编辑,还可以方便导出各种文件格式如docx、pdf、markdown、latex等格式
管理 Endnote 文献管理,方便和word结合起来管理引用,教程比较全面,缺点是付费
Zotero 开源,但是对中文文献不是特别友好
集成式工具 ivysci 强推,集成搜索、下载、阅读、笔记、管理甚至写作等功能


实验

有用脚本

计算机相关专业的从业者,往往需要大量与 GPU、conda、服务器、git 等名词后面的东西打交道,本节列举一些实验中常用脚本,方便使用。

git 相关(更多请参考 Git and GitHub)
# 信息配置

git config --global user.email "XXX@email.com"
git config --global user.name "NAME"
私有仓库克隆报错

这个错误通常是因为你没有在本地设置 SSH 密钥,或者你的 SSH 密钥没有添加到 GitHub 的 SSH 密钥列表中。你可以按照以下步骤来解决这个问题:

ls -al ~/.ssh #查看你是否已经有一个 SSH 密钥。id_rsa.pub 或者 id_ed25519.pub 等文件出现表示已存在 SSH 密钥
ssh-keygen -t ed25519 -C "your_email@example.com" #若没有,创建一个新的 SSH 密钥
eval "$(ssh-agent -s)" #确保 ssh-agent 是在后台运行的
ssh-add ~/.ssh/id_ed25519 # 将 SSH 私钥添加到 ssh-agent
cat ~/.ssh/id_ed25519.pub # 复制输出。接着,打开 GitHub 网站,点击右上角的头像然后选择"Settings",在左侧选择"SSH and GPG keys",点击"New SSH key",在"Key"字段中粘贴你刚刚复制的公钥。
conda 环境管理
conda create -n NAME python=3.6.1 # 创建开发环境
pip list --format=freeze >requirement.txt #pip 导出配置文件
pis install -r requirement.txt
conda env export --no-builds > environment.yml
conda env create -f environment.yml
source /opt/conda/bin/activate #可能需要激活 conda
conda activate ENV_NAME
python XXX.py
export CUDA_VISIBLE_DEVICES=1; python XXX.py #指定 GPU 运行
文件下载
# rsync 文件下载

rsync -avz --progress -e ssh YOUR_NAME@0.0.0.0:/mnt/inaisfs/user-fs/YOUR_SOURCE_PATH/ YOUR_TARGET_PATH/ #可以仿照在实验室服务器终端运行这个下载 #文件压缩
tar -czvf example.tar.gz example.txt
tar -xzvf example.tar.gz #解压到当前文件夹
终端连接管理

tmux(防止ssh连接断开,提交的任务被终止)

tmux new -s $session_name #创建并指定session名字
tmux a -t $session_name #进入已存在的session
tmux ls #列出session
tmux kill-session -t $session_name #删除指定session
有用python绘图脚本(持续更新中)github repo
项目code框架示意模版(方便code管理和开发)
其他
nvidia-smi #查看 GPU 使用情况
jupyter nbconvert --to python NOTEBOOK.ipynb #将 ipynb 文件转换为 py 文件
IDE

虽然传言最强大的程序员使用文本编辑器编程,做到无剑胜有剑,初出茅庐的小白还是拘泥于器,下面则是我最喜欢的两个 IDE,足以胜任所有编程工作。

工具/网站 特点
VS code git相关插件 Git History :git diff功能,对比编辑历史,可视化更加方便、明显,并且在编辑的时候自动标记更改方便跟踪实时code修改
Gitlens:显示每一行的编辑历史,提示未commit的修改等
code相关 copilot:LLM驱动的编程助手,教育学生认证后免费
ChatGPT: copilot的替补,LLM辅助解释程序和处理bug
其他 Path Intellisense(文件路径补全)& Image preview(图片预览)& Vscode-pdf & Docx/ODT Viewer & file-size
文件工具 Final shell ssh链接后,上传和下载文件比较方便稳定,也自带编辑器编写简单的文本。
实验记录

一个项目往往要做很多实验,需要调各种参数记录结果方便对比,下面分享一些实验记录的工具。

工具/网站 特点
工具 飞书 & Notion 方便协作和展示
机器学习学习强相关
tensorboard TensorFlow的官方可视化工具,与TensorFlow紧密集成,免费且开源,支持多种数据可视化类型,如标量、图像、音频、计算图等。
功能相对基础,主要针对Tensorflow架构
wandb
云端服务,方便远程访问实验数据,支持大量的机器学习框架,强大的可视化和报告生成功能,实时监控实验状态,以及与团队成员共享实验结果的功能。
需要联网,免费版存储空间和功能有限
MLflow 开源且支持多种机器学习框架,提供了实验跟踪、模型打包、模型服务部署等全套机器学习生命周期管理功能,可以部署在本地或云端,灵活性高。
相比WandB和TensorBoard,社区支持和用户基础较小,配置和使用相对复杂。
Comet.ml 提供实验跟踪、参数优化等功能,强大的可视化工具和云端存储,支持代码版本控制和实验比较。
免费版本功能有限,完整功能需要付费,需要联网。
ClearML 提供了一个端到端的MLOps平台,支持实验跟踪、数据管理、模型部署等。强大的自动化机器学习流程,支持云端和本地部署。
对于初学者来说,功能丰富可能导致上手难度较高,企业级功能需要付费。


论文写作

论文的写作问题令很多人头疼不已,无论是排版、文法、画图等等,都是一个个棘手的挑战。可能是繁琐的低脑力重复工作,可能是文法上当局者迷,也可能是画图是感叹艺术细胞缺失,下面是一些工具帮助解决这些问题。

工具/网站 特点
文本 overleaf 在线latex开发工具,支持多人协作
word 质朴万能工具
公式 在线LaTeX公式编辑 在线公式编辑,方便预览和导出,notion也可以方便导出
在线表格转换工具 在线表格转化
Mathpix snip 扣其他论文的公式,也可以使用GPT4
表格 在线生成表格 在线表格生成编辑,方便导出latex、markdown、html等格式
示意图:
PPT & Visio & origin
方便快捷,支持多种模版,方便展示
数据图:
Python & Matlab
方便自己调试,自由度高
PPT素材:
ML 相关
套用一些PPT模版或者素材,减少重复性劳动
其他
语法:Grammarly 支持边写边结错,可设置全局使用
润色:ChatGPT 注意辨别用词,LLM此处倾向使用高级词汇


其他

一些其他工具科研生活中也必不可少,如文件格式转换、文件查找等,持续更新中……

工具/网站 特点
文件
Convertio 在线免费网站,支持多种文件格式相互转换
Everything 本地文件查找
笔记 xmind 热门思维导图软件,笔记和展示都非常方便美观
其他 Autothink插件 outlook插件,自动根据来信回复邮件