项目环境搭建
环境搭建是多少新手的痛o(╥﹏╥)o
解决一切网络问题
本质问题:在服务器上实现科学上网
参考资料:Linux(ubuntu)系统安装和使用clash
参考资料直接在ubuntu中操作,而我是用vscode连接服务器操作的,部分地方有些许不同
- 第一步:安装clash
文件下载链接:https://zywang.lanzn.com/ijE2a1m7h6mb
由于官方的clash-for-linux已经删库跑路了,所以只能从这个链接下载
- 第二步:修改.env
其中需要修改两个地方:
(1)把CLASH_URL
设置为你的Clash订阅地址;
(2)把CLASH_SECRET
设置为你的密码
- 第三步:bash start.sh
- 第四步:放行端口 9090 和 7890 和7891
在VScode中放行端口很简单,只需要在端口的地方添加端口就行了。
- 第五步:进入网站 http://127.0.0.1:9090/ui/ 选择节点
(1) API Base URL 设置为默认值:http://127.0.0.1:9090
(2) Secret 设置为之前的CLASH_SECRET
设置的密码
(3) 在 Proxies 中选择能够使用的节点
- 第六步:开启代理
source /etc/profile.d/clash.sh
proxy_on
# !!!理论上只要上面两行就行了,如果还不行试试下面的三个操作强制开启一下
# 启动clash:【clash地址】 -d 【clash配置文件夹地址】 -f【yaml文件夹地址】
/root/ADV_DIFF/clash-for-linux-master/bin/clash-linux-arm64 -d /root/ADV_DIFF/clash-for-linux-master/conf -f /root/ADV_DIFF/clash-for-linux-master/conf/config.yaml
# 指定系统环境变量
export https_proxy=http://127.0.0.1:7890
export https_proxy=https://127.0.0.1:7890
- 第七步:测试一下
curl https://www.google.com
# 一直没输出则失败,输出一堆乱七八糟的则成功!
# 关闭代理:proxy_off 开启代理:proxy_on
# 需要关闭clash: bash shutdown.sh
# 需要开启clash:bash start.sh
# 需要重启clush:bash restart.sh
Huggingface 科学上网
本机(非服务器)
import os
# 前提条件:本机可以访问代理服务器,即可以科学上网(VPN)
# 原理:通过设置环境变量,将代理服务器地址设置到代码中
# 代理服务器地址:可以在 网络和Internet > 代理 > 手动设置代理 > 编辑 中查看
# 端口号根据自己情况更改
os.environ['HTTP_PROXY'] = 'http://127.0.0.1:33210'
os.environ['HTTPS_PROXY'] = 'http://127.0.0.1:33210'
服务器
方法一:在服务器上配置VPN (自行搜索,很麻烦就是,不推荐)
方法二:自己下载传到服务器上(比较简单,但每次要改地址,不推荐)
方法三:镜像网站 + huggingface-cli (很方便,且速度很快,推荐)
之前自己都是用前两种方法,然后总是有问题,直到我知道了第三种方法,感谢上帝!
这个方法会将下载的模型和数据集自动链接到默认的目录下,这样所有代码都不需要改了!
# 首先,pip安装一下库 huggingface-cli
pip install -U huggingface_hub
# 然后,设置镜像地址
export HF_ENDPOINT=https://hf-mirror.com
# 如果要下载模型,输入如下指令(以gpt2为例)
huggingface-cli download --resume-download gpt2 --local-dir gpt2
# 如果要下载数据集,输入如下指令(以wikitext为例)
huggingface-cli download --repo-type dataset --resume-download wikitext --local-dir wikitext
# local-dir随便填本地的地址即可
可以说这是万能方法,既可以用在服务器上,也可以用在本机上,非常方便!
使用Conda环境
- 创建、删除、显示环境
# 创建环境
conda create --name xxxx python==xxx
# 删除环境
conda env remove --name xxxx
# 显示环境
conda env list
- pip 加速
有的时候,一些服务器上没有换源,但是要快速安装
pip install XXX -i https://pypi.tuna.tsinghua.edu.cn/simple
使用 jupyter notebook / lab
参考资料:Jupyter Notebook 使用
参考资料:Jupyter Notebook介绍、安装及使用教程
简单来说 Jupyter Lab 比 Jupyter Notebook 更先进。
安装与运行
pip install jupyter notebook
pip install jupyterlab
jupyter notebook --port <port_number>
或者直接安装vscode的插件,直接在vscode中使用jupyter!
环境配置
Anaconda安装的虚拟环境和Jupyter Notebook运行需要的Kernel并不互通,如果我们想要切换内核(Change Kernel),可以参考如下步骤:
# (1) 安装 ipykernel
conda create -n env_name python=3.8 ipykernel
pip install ipykernel # 如果已经创建环境,在环境中安装ipykernel
# (2) 将虚拟环境写进 Jupyter
python -m ipykernel install --user --name XXX
远程连接
非常详细的资料:Jupyter notebook远程连接服务器
上述资料是通过SSH隧道来连接Jupyter的,但其实可以通过另一种更加方便但不一定安全的方式,介绍如下,我们直接允许所有IP访问特定端口即可。
# 进行配置
jupyter notebook --generate-config
jupyter notebook password # 按照提示设置密码
vim ~/.jupyter/jupyter_notebook_config.py
# 修改配置文件
c.NotebookApp.ip = '0.0.0.0' # 允许任何 IP 访问
c.NotebookApp.open_browser = False # 不自动打开浏览器
c.NotebookApp.port = 8888 # 使用的端口,可根据需要更改
远程访问时是要输入之前设置的密码的。
快速上手一个项目
很多项目,经常会因为配置环境而情绪崩溃,所以也长了一些经验
- 安装 transformers 和 datasets
pip install transformers datasets
- 安装 pytorch 系列,请一定事先查看CUDA版本并参照官网指令
如果项目用到的是tensorflow代码,一般都有对应的Pytorch版本
tensorflow版本总是会有问题,建议不要用这个库,事实上也逐渐没人用这个库了
- pip install -r requirements.txt
事先把里面的torch numpy等行删掉,因为第二步安装过了
如果这一步有问题,就去项目相应的issue里面找答案