科研基础
🛠 实验室服务器
📚 参考资料
深度学习环境配置
| 内容 | 链接 | 类型 | 
|---|---|---|
| 概述 - 实验室服务器的使用概述 | 链接🔗 | 视频教程 | 
| 教程 - Linux服务器配置深度学习环境教程 | 链接🔗 | 文字教程 | 
| Linux服务器配置深度学习环境 | 链接🔗 | 视频教程 | 
| VSCode远程连接服务器配置教程 | 链接🔗 | 文字教程 | 
| 资源 - Anaconda 清华源 | 链接🔗 | 资源下载 | 
| 官方网站 - PyTorch下载 | 链接🔗 | 资源下载 | 
实际技巧
| 内容 | 链接 | 类型 | 
|---|---|---|
| 服务器pip换源 → 解决三方库下载慢的问题 | 链接🔗 | 文字教程 | 
| VSCode使用Jupyter Notebook | 链接🔗 | 文字教程 | 
| 代码补全 → 解决VSCode使用服务器的代码补全问题 | 链接🔗 | 文字教程 | 
| 查看GPU使用情况 | 链接🔗 | 文字教程 | 
| 修改服务器代理地址 | 链接🔗 | 文字教程 | 
🚀 参考步骤
记录以下步骤主要是方便博主自用,读者仅供参考。
一、安装Anacaonda
下载「清华源」中,适合Linux版本的Anaconda安装包(***.sh),上传至服务器。
利用 bash ***.sh 命令,在服务器中安装Anaconda。
利用 source ~/.bashrc 更新环境变量 → 为了使用 conda 命令。
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip config set install.trusted-host mirrors.aliyun.com二、创建虚拟环境
利用 conda create -n <env_name> python=3.9 创建虚拟环境 env_name 。
这里最好指定Python的版本,这样就可以在VSCode右下角选择当前Conda环境作为解释器
利用 conda activate <env_name> 激活刚创建的虚拟环境。
三、下载第三方库
换源
换源,加快第三方库的下载速度。
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip config set install.trusted-host mirrors.aliyun.comPytorch下载
如果实验室服务器的 GPU 有 cuda 加速,下载 Pytorch 时,选择带有”+cu”的版本。

示例中的命令
pip install torch==1.12.0+cu113 torchvision==0.13.0+cu113 torchaudio==0.12.0 --extra-index-url https://download.pytorch.org/whl/cu113常用库下载
pip install pandas		# pandas
pip install matplotlib		# matplotlib
pip install opencv-python	# cv2至此,深度学习环境配置完成,即可开始炼丹之旅~
四、网络代理设置
网络设置代理
服务器代理地址有时候会发生变更,可以按照以下步骤更换:
用 vim 打开配置文件
请务必在了解
vim使用方式的情况下使用下面的命令!
vim ~/.bashrc 找到如下几行配置代码,按照导师提供的地址修改 *** 内容即可
export http_proxy=http://***:***
export https_proxy=http://****:***
export all_proxy=socks5h://***激活当前配置命令
source ~/.bashrc外网访问
- 以MacBook为例,打开终端,查询本机当前的 Wi-Fi 接口 IP 地址:
ipconfig getifaddr en0或者在「系统偏好设置-网络」中查看。
- 在本机代理软件「控制台-设置」中,打开「允许来自局域网的连接」,查看「混合代理端口」
- 将地址和端口组合,得到 ***:***
- 在服务器的终端中,运行以下命令
export http_proxy=http://***:***
export https_proxy=http://****:***- 使用完毕后,关闭本地代理软件中的「允许来自局域网的连接」(保障安全性)
五、本地-服务器文件传输
服务器文件 → 本地
如果本地机器配置过ssh,可以使用如下命令查看服务器相关配置:
cat ~/.ssh/config会得到:
Host SHU-Lab-1-A6000 HostName XX.XX.XX.XX Port YYYY User ZZZZ
在服务器运行如下命令,获取 username:
whoami在服务器运行如下命令,获取 server_ip:
hostname -I在服务器运行如下命令,获取 port_number:
echo $SSH_CLIENT定位至想要传输到本地的服务器文件夹,运行如下命令,获取 folder_path:
pwd定位至想要传输到的本地文件夹,在本地机器运行:
scp -P port_number -r username@server_ip:folder_path ./六、其他
matplotlib 显示中文字体
Linux服务器下的解决方案
- 使用命令 pip install -U mplfonts安装mplfonts库。
- 使用命令 mplfonts init进行初始化配置。
- 返回原 python 文件,添加如下代码,再次生成图片查看即可。
import matplotlib
# 配置 matplotlib 使用中文字体,避免中文显示问题
matplotlib.rcParams['font.sans-serif'] = ['SimHei']  # 使用黑体
matplotlib.rcParams['axes.unicode_minus'] = False  # 解决负号显示问题🖥 显示器
| 视频内容 | 链接 | 创作者 | 
|---|---|---|
| 我的独立显示器选配全攻略,从此告别mac小屏,效率再升级! | 链接🔗 | 大洋的朝九晚十 | 
| Macbook外接显示器保姆级指南丨up主外接显示器一年使用报告 | 链接🔗 | 大洋的朝九晚十 | 
| 外接显示器如何优雅的调节亮度?Mac、Win通通拿下! 【软件分享MonitorControl】 | 链接🔗 | 摄影师云飞 | 
🧑🏻💻 常用命令与代码
Linux 常用命令
| 命令 | 描述 | 示例 | 
|---|---|---|
| cd  | 切换当前目录 | cd /home/user/ | 
| cd .. | 切换到上一级目录 | cd .. | 
| ls | 列出当前目录下的文件和文件夹 | ls | 
| mkdir | 创建一个新目录 | mkdir new_directory | 
| touch | 创建一个新的文件 | touch test.py | 
| cp | 复制文件或目录 | cp file.txt /destination/ | 
| rm | 删除文件 | rm file.txt | 
| rm -rf folder_name | 删除文件夹 | rm -rf folder_name | 
| mv | 移动或重命名文件或目录 | mv file.txt newfile.txt | 
| cat | 显示文件内容 | cat file.txt | 
| grep | 在文件中搜索文本 | grep "keyword" file.txt | 
| kill | 终止指定进程 | kill 12345 | 
| wget | 从互联网下载文件 | wget http://example.com/file.zip | 
| curl | 从服务器传输数据 | curl http://example.com | 
| alias | 为命令创建别名 | alias ll='ls -l' | 
| zip | 压缩 folder文件夹 | zip -r archive.zip folder/ | 
| unzip | 解压 archive.zip | unzip archive.zip | 
| tar -czvf | 压缩 folder文件夹 | tar -czvf archive.tar.gz folder/ | 
| tar -xzvf | 解压 archive.tar.gz | tar -xzvf archive.tar.gz | 
Conda 常用命令
| 指令 | 用途 | 
|---|---|
| conda env list | 列出所有的conda环境 | 
| conda create -n <env> | 创建一个新的环境 | 
| conda env remove -n <env> | 删除指定的环境 | 
| conda activate <env> | 激活指定的环境 | 
| conda deactivate | 停用当前环境 | 
| conda install <package> | 安装指定的包 | 
| conda remove <package> | 删除指定的包 | 
PyTorch 常用代码
硬件相关
| 指令 | 用途 | 
|---|---|
| import torch | 导入PyTorch库 | 
| torch.cuda.is_available() | 检查是否可以使用GPU | 
| device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') | 指定当前环境设备(GPU/CPU) | 
| tensor.to(device) | 将 tensor 移动到指定设备(GPU/CPU)创建一个张量 | 
tensor相关
| 指令 | 用途 | 
|---|---|
| torch.zeros(size) | 创建全零张量 | 
| torch.ones(size) | 创建全一张量 | 
| torch.randn(size) | 创建随机正态分布张量 | 
| tensor_a + tensor_b | 张量加法 | 
| tensor_a - tensor_b | 张量减法 | 
| tensor_a * tensor_b | 张量逐元素乘法 | 
| tensor_a / tensor_b | 张量逐元素除法 | 
| torch.matmul(tensor_a, tensor_b) | 矩阵乘法 | 
| torch.transpose(tensor, dim0, dim1) | 张量转置 | 
| torch.reshape(tensor, new_shape) | 改变张量形状 | 
| tensor[:n] | 张量切片,获取前n个元素 | 
| torch.sum(tensor) | 计算张量所有元素的和 | 
| torch.mean(tensor.float()) | 计算张量所有元素的均值(需转浮点数) | 
| torch.zeros(size) | 创建全零张量 | 
| torch.ones(size) | 创建全一张量 | 
| torch.randn(size) | 创建随机正态分布张量 | 
模型相关
| 指令 | 用途 | 
|---|---|
| model.train() | 将模型设置为训练模式 | 
| model.eval() | 将模型设置为评估模式 | 
| model.parameters() | 获取模型的参数 | 
| torch.save(model, path) | 保存整个模型 | 
训练相关
| 指令 | 用途 | 
|---|---|
| model.train() | 将模型设置为训练模式 | 
| model.parameters() | 获取模型的参数 | 
| loss = torch.nn.CrossEntropyLoss() | 定义交叉熵损失函数 | 
| optimizer = torch.optim.Adam(model.parameters(), lr=0.001) | 定义Adam优化器 | 
| optimizer.zero_grad() | 梯度清零 | 
| loss.backward() | 反向传播计算梯度 | 
| optimizer.step() | 更新模型参数 | 
| torch.save(model, path) | 保存整个模型 | 
📚 Zotero - 文献管理工具
Zotero 简介
Zotero 是一款 跨平台 的 文献管理工具,可用于收集、整理和引用学术文献。
Zotero 支持 Windows、macOS 、Linux、iOS等系统,下载安装非常简便。
Zotero 官方主页:https://www.zotero.org
在摊主看来,Zotero 有以下几个优点:
- 开源、免费
- 支持多级目录(比如在 DeepLearning目录下还可以创建多个子目录)
- 支持数据同步,可在多个设备上查看自己的文献库(搭配坚果云同步数据)
- 内置 PDF 阅览器,方便阅读文献
- 丰富的插件资源,可以高度个性化
摊主也用过像 EndNote、Mendeley 等文献管理软件,但摊主个人觉得 Zotero 的使用体验最好。
Zotero 下载
Zotero(PC版)
Zotero 官网下载界面:https://www.zotero.org/download/
Zotero 官网安装指南:https://www.zotero.org/support/installation
Zotero Connector(浏览器插件)
Zotero Connector 可以自动感应网页内容,将网页保存至Zotero中
Zotero Connector官网下载界面:https://www.zotero.org/download/

Zotero(iOS和iPadOS版)
App Store 直接搜索下载即可。
Zoo for Zotero(安卓版)
Zoo for GitHub 网页:https://github.com/mickstar/Zoo-For-Zotero
官方下载链接为Google Play,如果无法访问,可通过网盘下载:蓝奏云(提取码:f5mf)
Zotero 插件
Zotero 插件中文社区:https://zotero-chinese.com/plugins/
好用插件推荐
- Zotero 插件市场
- Awesome GPT- GPT Free API:https://github.com/chatanywhere/GPT_API_free
 
- Ethereal Style
- Better Notes for Zotero
- PDF Figure
- Sci-PDF- https://sci-hub.ru/
- https://sci-hub.st/
- https://sci-hub.ren/
- https://sci-hub.se/
 
🛠 Chrome科研插件
- Zotero Connector
- Google学术搜索按钮
🔍 文献检索
文献基础知识
优质好文
- 为什么计算机学术界认可顶级会议论文,而其他领域几乎都是只认可顶级期刊? - 游凯超的回答 - 知乎 https://www.zhihu.com/question/54142181/answer/2545936843
- CCFrank:用于显示文章的CCF等级 - Chrome插件 https://chromewebstore.google.com/detail/ccfrank/pfcajmbenomfbjnbjhgbnbdjmiklnkie
基本术语表
| 术语 | 备注 | 
|---|---|
| academia | |
| Conference Paper | |
| Conference Proceedings | |
| rebuttal | 
计算机领域顶会
| 内容 | 网站 | 链接 | 
|---|---|---|
| 会议评级与检索 | CCF | https://ccfddl.top/ | 
| CCF会议评级 | CCF | https://ccf.atom.im/ | 
| 会议查询 | DBLP | https://dblp.org/db/conf/index.html | 
CCF-A
| Conference | Proceedings Split | Presentation Types | 
|---|---|---|
| NeurIPS | None | Oral / Spotlight / Poster | 
| ICML | None | Oral / Spotlight / Poster | 
| ICLR | None | Oral / Spotlight / Poster | 
| ACL | Main vs Findings | Oral / Poster | 
| EMNLP | Main vs Findings | Oral / Poster | 
| AAAI | None | Oral / Poster | 
| IJCAI | Main + others | Oral / Poster | 
| CVPR etc. | None | Oral / Poster | 
NeurIPS
CVPR
ICML
ICCV
AAAI
每个年份的论文可以用command + F按照「AAAI Technical Track」关键词搜索。
IJCAI
SIGKDD
| 会议 | 链接 | 
|---|---|
| SIGKDD | https://dblp.org/db/conf/kdd/index.html | 
| SIGKDD 2024 | https://dblp.org/db/conf/kdd/kdd2024.html | 
| SIGKDD 2023 | https://dblp.org/db/conf/kdd/kdd2023.html | 
| SIGKDD 2022 | https://dblp.org/db/conf/kdd/kdd2022.html | 
每个年份的论文可以用command + F按照「AAAI Technical Track」关键词搜索。‘
CCF-B
🍃 Overleaf
Overleaf 文献引用
\bibliographystyle{} % 可选择引用样式
\bibliography{references.bib} % 引用文献的文件名
\end{document}可选引用格式:
- plain,按字母的顺序排列,比较次序为作者、年度和标题
- unsrt,样式同plain,只是按照引用的先后排序(按照上下文排序)
- alpha,用作者名首字母+年份后两位作标号,以字母顺序排序
- abbrv,类似plain,将月份全拼改为缩写,更显紧凑:
- ieeetr,国际电气电子工程师协会期刊样式:
- acm,美国计算机学会期刊样式
- siam,美国工业和应用数学学会期刊样式
- apalike,美国心理学学会期刊样式:
🤗 Hugging Face
安装
1. 启动conda环境
conda activate ***2.下载 transformers 库 
pip install transformers换源
1. 安装依赖
pip install -U huggingface_hubCopy2. 设置环境变量
export HF_ENDPOINT=https://hf-mirror.compipeline示例
https://huggingface.co/docs/transformers/en/main_classes/pipelines#transformers.pipeline
情感识别
from transformers import pipeline
# classifer = pipeline("sentiment-analysis")
classifer = pipeline("sentiment-analysis", model="distilbert-base-uncased-finetuned-sst-2-english")
sentences = [
    "I love using Hugging Face!",
    "This is a terrible idea.",
    "The weather today is amazing.",
    "I'm not sure how I feel about this."
]
res = classifer(sentences)
for i, sentence in enumerate(sentences):
    print(f"Sentence: {sentence}")
    print(f"Result: {res[i]}")
    print()文本生成
from transformers import pipeline
generator = pipeline("text-generation", model='distilgpt2')
sentence = "In this course, we will teach you how to"
results = generator(
    sentence,
    max_length=30,
    num_return_sequences=2,
)
print()
print(f"Sentence: {sentence}")
for i, result in enumerate(results):
    print(result['generated_text'])零样本预测
from transformers import pipeline
classifier = pipeline("zero-shot-classification", model='facebook/bart-large-mnli')
res = classifier(
    "This is a course about Python list comprehension",
    candidate_labels=["education", "politics", "business"]
)
print()
print(res) 
                     
                    