重启电脑,开机时连续按F2进入BIOS,进入Configure选项,检查SATA Control Mode,如果默认是Inter RST Premium,说明windows是安装在RST模式下,而* Linux是需要安装在ACHI模式下 *,为避免安装完linux后双系统间的切换存在问题,将windows改为ACHI。具体操作如下:
不修改BIOS的模式(使用默认的RST,否则进入不了系统),进入windows系统 → 按键盘 win+r,输入msconfig,在引导 下,勾选 安全引导,点击确定,重启进入安全模式;
进入安全模式后,继续重启电脑(这一步只是为了检查是否能进win10的安全模式;
在启动界面开始是连续按F2,进入BIOS界面,在Configuration选项里将SATA Control Mode改为ACHI;在Security选项,将Secure Boot选为disablede;在Boot选项,确认Boot Mode为UEFI,并且USB Boot为Enabled;F10 保存退出,进入win10安全模式,此时选择“启动带网络连接的安全模式”,然后再重启;
进入win10后,按键盘 win+r ,输入msconfig,选择引导,取消勾选安全引导,点击确定,重启,此时能进入win10,表明win10系统的启动已从 RST 模式改为 ACHI 模式。
分区设置:
找到在 win10 下压缩出的空闲空间(200G),点击 +
进行分区:
efi系统分区 :逻辑分区,空间起始位置,EFI,540M(不低于300M)
swap :逻辑分区,空间起始位置,交换分区,8G(本子的内存是8G)
/ :主分区,空间起始位置,EXT4,30G
/home :逻辑分区,空间起始位置,EXT4,剩下所有空间大概162G
安装完成,此时ubuntu没有无线,解决如下:
在终端敲入:
$ rfkill list all
会出现类似如下情况:
0:ideapad_wlan: Wireless LAN
Soft blocked: no
Hard blocked:yes
1:ideapad_bluetooth: Bluetooth
Soft blocked: no
Hard blocked: yes
2:phy0: Wireless LAN
Soft blocked: no
Hard blocked:no
3:hci0: Bluetooth
Soft blocked: yes
Hard blocked: no
可以看到,优先级前的ideapad_wlan的Hard blocked 默认为yes,即ubuntu默认关闭了硬件wifi开关,而联想R720(我使用的本)的wifi只有软件开关,没有硬件开关的启动,所以引起了wifi无法开启的问题。
因此,移出ideapad无线模块:
$ sudo modprobe -r ideapad_laptop
此时,wifi模块工作正常,但是每次重启ubuntu系统都要重新进行模块移出,故可将该命令设置为开机自启动。
在/etc/rc.local
文件中添加命令:
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
#因为使用的是非管理员登录,故在执行sudo命令时要输入密码,方可自动化执行,
#此处假设用户密码为123,命令一定要在exit 0之前运行,该文件如果没有修改权限
#修改前使用 chmod 命令修改权限即可!
echo "123" | sudo modprobe -r ideapad_laptop
exit 0
开机启动后系统会自动执行改脚本文件,完成wifi模块的自动移出操作。
$ sudo apt-get update
我的本是GTX1060的显卡,在NVIDIA官网(http://www.nvidia.cn/Download/Find.aspx?lang=cn
)找到的是390.25版本的驱动,可下载下来安装,也在终端使用命令安装:
$ sudo add-apt-repository ppa:graphics-drivers/ppa
根据提示回车后继续
$ sudo apt-get update
$ sudo apt-get install nvidia-390
$ sudo apt-get install mesa-common-dev
$ sudo apt-get install freeglut3-dev
查看显卡驱动:
# 查看GPU型号
$ lspci | grep -i nvidia
# 看NVIDIA驱动版本
$ sudo dpkg --list | grep nvidia-*
在官网(https://developer.nvidia.com/cuda-90-download-archive
)下载cuda9.0,
下载的安装文件名为:cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.deb
根据官网安装提示进行安装
1. $ sudo dpkg -i cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.deb
2. $ sudo apt-key add /var/cuda-repo-<version>/7fa2af80.pub`
3. $ sudo apt-get update`
4. $ sudo apt-get install cuda`
安装完成后设置环境变量:
$ sudo gedit ~/.bashrc
末尾添加:
# added by cuda_9.0 installer
$ export PATH="/usr/local/cuda-9.0/bin:$PATH"
$ export LD_LIBRARY_PATH="/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH"
然后更新:
$ source ~/.bashrc
验证:
$ cd /usr/local/cuda/samples/1_Utilities/deviceQuery
$ sudo make
$ sudo ./deviceQuery
结果若显示 no CUDA-capable device is detected,继续第5步操作,若成功查询出设备表示已安装成功。
执行命令:
$ nvcc -V
根据结果的提示执行指令,好像是sudo apt-get install cuda-toolkit (记不清了,直接从nvcc -V 的结果提示拷贝即可),重新进行第三步验证,能成功查询设备表明安装成功。
下载cuDNN压缩文件,本机下载的是:cudnn-9.1-linux-x64-v7.tgz
,其中9.1是指支持cuda9.1,也支持上节安装的cuda9.0 。
进入下载的文件目录:
$ tar -xzvf cudnn-9.1-linux-x64-v7.tgz
$ sudo cp cuda/include/cudnn.h /usr/local/cuda/include
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
$ sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
$ sudo apt-get update && sudo apt-get upgrade
$ sudo apt-get install linux-source
$ sudo apt-get install linux-headers-`uname -r`
通过以下其中一种方式安装即可:
1.通过源代码安装(待续…)
(1)下载tensorflow源码:
$ git clone https://github.com/tensorflow/tensorflow
(2)Installing Bazel,网址
(https://docs.bazel.build/versions/master/install-ubuntu.html
)
2.终端命令安装(python2 下安装很容易)
安装完CUDA Toolkit和cuDNN后,使用pip
安装Tensorflow
$ sudo apt-get install python-pip python-dev
$ sudo pip install –upgrade pip
$ sudo pip install tensorflow-gpu
3.下载安装(推荐)
在网站(https://pypi.python.org/pypi/tensorflow-gpu
)下载对应python版本的tensorflow.
例如,下载的是tensorflow_gpu-1.6.0-cp27-cp27mu-manylinux1_x86_64.whl
,其中cp27表示对应python2.7。
进入下载的目录,使用pip install
安装
$ pip install --ignore-installed –upgrade tensorflow_gpu-1.6.0-cp27-cp27mu-manylinux1_x86_64.whl
注意: 因为 ubuntu 默认安装了 python2.7 和 python3.5,默认情况下pip是指向的 python2.7 而 pip3 是指向 python3.5。因此第2步和第3步中,安装 python2.7 下的 tensorflow 就使用 pip,安装 python3.5 下的 tensorflow 就使用 pip3。
4.安装检查
$ python
>> import tensorflow as tf
>> tf.__version__
注意:如果是从本文攻略开始一直执行到此步骤,系统是没有装 anaconda 的,因此安装的 tensorflow (使用的sudo pip
安装)是安装在系统自带的 python2.7 下,即/usr/bin/python2.7/site-packages/tensorflow
(可通过以下方式查看出 tensorflow 的安装路径)。
$ python
>> import tensorflow as tf
>> tf.__path__
因此如果调用的是系统自带的 python 解释器,就可以使用 tensorflow 。换言之,安装的 tensorflow 是作为 python 的第三方包安装的,使用 sudo pip install tensorflow-gpu
是将其安装 python2.7 环境下(/usr/bin/python2.7/site-packages/
)。
如果安装了 anaconda ,终端下会调用 anaconda 下的 python 解释器,路径类似于这样/home/tl/anaconda2/lib/python2.7
,但是 pycharm 软件可以对工程进行自行选择解释器,在界面的 File → settings → Project:<工程名> → Project Interpreter
, 右侧可以选择 python 的解释器,选择解释器后下方会显示可用的第三方包。如果要用到 tensorflow ,则选择安装好 tensorflow 版本的解释器。
gym 主要是通过源码安装,在openAI的 Github 网站(https://github.com/openai/gym
),根据 README 提示安装。如果安装完全体,依赖的第三方库 MuJoCo 需要 License。
1.安装 MuJoCo
(1) 根据网站(https://github.com/openai/mujoco-py#obtaining-the-binaries-and-license-key
)下的 README 提示进行安装。
因为用的 python2.7 环境,所以安装 0.5版本的
$ pip install mujoco-py==0.5.7
(2) 下载mjpro131_linux(https://www.roboti.us/
),将其解压到 ~/.mujoco/ 下,默认是没有这个目录的,自己创建
$ cd ~
$ sudo mkdir .mujoco
$ cd < mjpro131_linux.zip 所在目录 >
$ cp mjpro131_linux.zip ~/.mujoco
$ cd ~/.mujoco
$ unzip mjpro131_linux.zip
(3) 申请license,在该网站(https://www.roboti.us/license.html
)填写资料申请,可申请免费试用30天的,也可通过高校邮箱申请学生版(免费使用一年)。
把申请的 mjkey.txt 放到~/.mujoco/
目录下和~/.mujoco/mjpro131/bin
( mujoco_py 的初始化文件会在目录~/.mujoco/
下找 mjkey 和 mjpro131 )。
终端进入python,导入mujoco_py,如果没有报错,说明安装完成
$ python
>> import mujoco_py
2.安装 gym
(根据 README 提示进行)
(1) 安装依赖包:
然后下载源码
$ sudo apt-get install -y python-numpy python-dev cmake zlib1g-dev libjpeg-dev xvfb libav-tools xorg-dev python-opengl libboost-all-dev libsdl2-dev swig
$ git clone https://github.com/openai/gym.git
$ cd gym
(2) 打开 setup.py
文件,修改对应的 mujoco 版本号
'mujoco': ['mujoco_py==0.5.7', 'imageio'],
'robotics': ['mujoco_py==0.5.7', 'imageio']
(3) 安装
$ pip install -e '.[all]'
(4) 测试安装
$ python
>> import gym
>> env = gym.make('CartPole-v0')
>> env.reset()
>> env.render()
说明:gym 支持python2 和 python3 ,但是第三方库mujoco只支持 python3 , 这里安装的是支持 python2 的低版本的 0.5.7 , 这样处理只是为了能够成功安装 gym ,但是 gym 下 MuJoCo 和 Robotics 使用起来有点问题,可以运行 gym 下 readme 里 MuJoCo 和 Robotics 的实例,显示 mujoco_py 没有属性 ‘load_model_from_path’。
考虑解决办法是环境全部建立在 python3 下,这样需要重新下载安装 Anaconda3 ,并安装 python3 下的 tensorflow-gpu ,然后重新安装 mujoco 和 gym 。
最好对readme下每个库的实例都运行一遍,本机除了对mujoco依赖的库无法正常使用外,在运行box2d的月球登录的例子也出现问题,解决方法如下(根据环境选择其中一个方法):
(1)anaconda 环境下
$ conda uninstall swig
$ conda search swig
$ conda install swig=3.0.2
$ conda install -c https://conda.anaconda.org/kne pybox2d
(2) 默认python 环境下
(a) 下载swig3.0.2源代码,并进入下载目录
$ tar -zxvf swig-3.0.2.tar.gz
$ cd swig-3.0.2
$ ./configure
$ make
$ sudo make install
(b) 安装 pybox2d
$ git clone https://github.com/pybox2d/pybox2d
$ cd pybox2d
$ python2 setup.py build
$ sudo python2 setup.py install
去清华源下载 anaconda(https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
) 安装文件。
本机下载的是对应 python2.7 版本的 Anaconda2-5.1.0-Linux-x86_64.sh
,进入到下载文件所在目录,执行
$ bash Anaconda2-5.1.0-Linux-x86_64.sh
根据提示选择,基本一直是yes,安装完成,关闭并重新打开一个终端,输入 conda -V
可查看版本。
说明:在第六节中已说明,tensorflow 是作为 python 的第三方包,而 anaconda 不是 python 的第三方包,是集成了很多第三方包在内的 python 解释器,安装完成被添加到环境变量中后,终端输入 python 会自动进入 anaconda 下的 python 环境。在终端输入 conda list 会查看当前 python 环境下的第三方包,可以看到是没有 tensorflow 的。因此需要对此 python 环境安装 tensorflow 。
(a)创建虚拟环境
$ conda create -n tensorflow
(b)激活虚拟环境
# 激活虚拟环境
$ source activate tensorflow
# 取消激活的虚拟环境
$ source deactivate
(c)安装
$ pip install tensorflow-gpu
重启一个终端,输入 conda list
可以看到有 tensorflow-gpu ,说明安装成功,也可以使用第六节第4部分的方法检查。
更新:上述安装 tensorflow 的方式是创建虚拟环境,通过学习 conda 使用方式,conda 主要用来管理版本的问题,创建虚拟环境一般指定 python 版本,这样就可以用虚拟环境下的 python 版本来运行 .py
文件,例如系统装的是 python2.7 ,虚拟环境指定为 python=3.5 就可以运行其他人写的 python3.5 的程序文件。而上述过程没有指定 python 版本,因此可以认为不需要创建虚拟环境,直接运行第(c)步就可以安装好 tensorflow 。
1)添加源
$ sudo add-apt-repository ppa:mystic-mirage/pycharm
2)选择下面其中一种进行安装
(a) 安装收费的专业版:
$ sudo apt update
$ sudo apt install pycharm
(b) 安装免费的社区版:
$ sudo apt update
$ sudo apt install pycharm-community