跳转至

项目环境搭建

环境搭建是多少新手的痛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中放行端口很简单,只需要在端口的地方添加端口就行了。

An image caption
  • 第五步:进入网站 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  # 使用的端口,可根据需要更改

远程访问时是要输入之前设置的密码的。

快速上手一个项目

很多项目,经常会因为配置环境而情绪崩溃,所以也长了一些经验

  1. 安装 transformers 和 datasets pip install transformers datasets
  2. 安装 pytorch 系列,请一定事先查看CUDA版本并参照官网指令

    如果项目用到的是tensorflow代码,一般都有对应的Pytorch版本

    tensorflow版本总是会有问题,建议不要用这个库,事实上也逐渐没人用这个库了

  3. pip install -r requirements.txt

    事先把里面的torch numpy等行删掉,因为第二步安装过了

    如果这一步有问题,就去项目相应的issue里面找答案