ChK

学习强国

我的个人博客


My GitHub

环境配置记录

目录

今天重装了ubuntu系统,再次花费了大量的时间在配置上。
为了避免以后配置类似的环境时浪费时间,决定将诸多配置操作记录下来。

关于 Anaconda

安装

清华开源镜像站,右侧获取最新版下载链接
Linux 版本注意使用 bash 安装时不要用 sudo,否则会安装到 /root 目录下,导致 conda 命令找不到

Conda 常用命令

conda create -n env_name python=3.6  #创建虚拟环境
conda remove -n env_name --all  # 删除虚拟环境
conda activate env_name     # 激活环境
conda deactivate    #关闭环境
conda env list      #列出所有环境
conda update -n base conda      # 更新conda

Conda 源

清华Anaconda镜像使用帮助
ubuntu下修改 ~/.condarc 文件如下:

channels:
  - defaults
show_channel_urls: true
channel_alias: https://mirrors.tuna.tsinghua.edu.cn/anaconda
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

关于 Ubuntu 系统

安装 Ubuntu

清华开源镜像站,右侧获取最新版下载链接。

使用 UltraISO 刻录 U盘,不要用大白菜、老毛桃等软件,会加很多乱七八糟的东西
重启后用U盘启动,直接进入安装程序即可,一路继续默认安装,最多选个安装盘

Ubuntu 20.04 LTS 源

清华Ubuntu 镜像使用帮助
Ubuntu 的软件源配置文件是 /etc/apt/sources.list。将系统自带的该文件做个备份,将该文件替换为下面内容,即可使用 TUNA 的软件源镜像。

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse

必备软件和配置

vim

Ubuntu自带的 vim 是 tiny 版本的,使用方向、插入、滚轮等操作时可能会出现奇怪现象
将其卸载后重新安装完全版即可

sudo apt purge vim-common   # 卸载 vim
sudo apt install vim    # 安装完全版 vim

浙大校园网的设置

  • 有线网地址配置
    首先在有线连接 ipv4 中修改设置如下:

    属性 地址
    ip 10.15.198.xxx
    掩码 255.255.255.0
    网关 10.15.198.1
    dns 10.10.0.21
  • vpn的连接

    • 先把 ubuntu 的源改为浙大镜像
    • 安装l2tp:
      sudo apt install -y network-manager-l2tp-gnome network-manager-l2tp
    • 添加 L2TP 类 VPN

      属性 设置
      名称 随便起
      网关 10.5.1.9
      用户名 学号
      密码 密码

    再点PPP设置,将MTU、MRU都修改为1440即可

科学上网

  • Ubuntu 下载安装 v2ray:

     bash <(curl -L -s https://install.direct/go.sh)  # 下载v2ray脚本,并执行安装
    
  • 配置文件:sudo vi /etc/v2ray/config.json

     {
    "policy": null,
    "log": {
      "access": "",
      "error": "",
      "loglevel": "warning"
    },
    "inbounds": [
      {
        "tag": "proxy",
        "port": 10808,    //本地端口
        "listen": "127.0.0.1",  //本地地址
        "protocol": "socks",
        "sniffing": {
          "enabled": true,
          "destOverride": [
            "http",
            "tls"
          ]
        },
        "settings": {
          "auth": "noauth",
          "udp": true,
          "ip": null,
          "address": null,
          "clients": null
        },
        "streamSettings": null
      }
    ],
    "outbounds": [
      {
        "tag": "proxy",
        "protocol": "vmess",
        "settings": {
          "vnext": [
            {
              "address": "xxx.xxx.xxx",   //此处为站点网址
              "port": 443,
              "users": [
                {
                  "id": "xxxx-xxxx-xxxx",   //此处为生成的id号,需与服务端相同
                  "alterId": 64,
                  "email": "t@t.tt",
                  "security": "none"
                }
              ]
            }
          ],
          "servers": null,
          "response": null
        },
        "streamSettings": {
          "network": "ws",
          "security": "tls",
          "tlsSettings": {
            "allowInsecure": true,
            "serverName": null
          },
          "tcpSettings": null,
          "kcpSettings": null,
          "wsSettings": {
            "connectionReuse": true,
            "path": "/v2ray",
            "headers": null
          },
          "httpSettings": null,
          "quicSettings": null
        },
        "mux": {
          "enabled": true
        }
      },
      {
        "tag": "direct",
        "protocol": "freedom",
        "settings": {
          "vnext": null,
          "servers": null,
          "response": null
        },
        "streamSettings": null,
        "mux": null
      },
      {
        "tag": "block",
        "protocol": "blackhole",
        "settings": {
          "vnext": null,
          "servers": null,
          "response": {
            "type": "http"
          }
        },
        "streamSettings": null,
        "mux": null
      }
    ],
    "stats": null,
    "api": null,
    "dns": null,
    "routing": {
      "domainStrategy": "IPIfNonMatch",
      "rules": [
        {
          "type": "field",
          "port": null,
          "inboundTag": [
            "api"
          ],
          "outboundTag": "api",
          "ip": null,
          "domain": null
        }
      ]
    }
    }
    
  • 启动服务 systemctl start v2ray

设置系统代理后打开chrome,下载SwitchyOmega
设置auto switch
更新规则 https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt

  • Windows 下载 v2rayN
    配置文件与上面相同

关于 python

Ubuntu 默认安装 python3,我也基本用不到python2了,所以不用再安装python2.

pip 源

清华pypi 镜像使用帮助

pip install pip -U    # 升级 pip 到最新
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple  # 设置 pip 源

关于 Git

安装 Git

sudo apt install git

git 设置

  • git 登录

     git config --global user.email "you@example.com"  
     git config --global user.name "Your Name"
    
  • git 密钥配置 参考 github帮助

git 常用命令

   git add filename # 添加文件到缓冲区
   git add --all    # 批量添加
   git add .
   git rm filename  # 删除文件
   git commit -m "提交说明" # 提交缓冲区的修改到仓库
   git status # 查看状态
   git log  # 查看日志
   git push   # 推送到远端
   git config --global http.proxy 'socks5://127.0.0.1:10800'  # 设置socks5 http 代理
   git config --global https.proxy 'socks5://127.0.0.1:10800' # 设置socks5 https 代理
   git config --global --unset http.proxy   # 取消代理
   git config --global --unset https.proxy

关于 spinningup

安装 spinningup

参考OpenAI Spinning Up 安装教程

使用 spinningup

训练模型:
python -m spinup.run ppo --hid "[32,32]" --env LunarLander-v2 --exp_name installtest --gamma 0.999

查看效果:
python -m spinup.run test_policy data/installtest/installtest_s0
这里遇到了问题:
pyglet.gl.ContextException: Could not create GL context
昨天找了很多帖子:
github问题
按照其中一个回答照做了wiki上关于OpenGL的操作
但是昨天这个问题并没有解决,然而今天早上来了后再试一遍却又可以了,暂时不知道是怎么解决的

更早的文章

CHAPTER 9. On-policy Prediction with Approximation

本章开始学习强化学习的函数逼近方法。实际上,函数逼近方法只是把第一部分中的表换成了一个由参数 ${\bf w} \in \Bbb R^d$ 决定的逼近函数而已。我们会将 $v_\pi (s)$ 写作 $\hat v(s, {\bf w})$ ,即在给定参数 ${\bf w}$ 下估计状态 $s$ 的值。$\hat v$ 可能是个关于 $s$ 的线性函数, ${\bf w}$ 是函数的特征矩阵;或 $\hat v$ 是个多层的神经网络,而 ${\bf w}$ 是各层连接向量的权重。通过调整 ...…

强化学习继续阅读