小米笔记本 +关注 已有9819人关注 +发表新主题
duoduobear

发烧级手机控

  1. 553 积分
  2. 175 经验
  3. 160 贡献值
Ta的主页 发消息
签到
连续0天
0人
签到看排名
扫码下载App
一键签到 升级加速
回复

【分享】【再更新】小米游戏本安装Ubuntu+Cuda+Docker+Tensorflow完全手册

置顶 精华 发表在 玩机教程 05-07 14:39:48  来自PC 复制链接 手机看帖扫一扫!手机看帖更爽 159 20193

【5月17日补充】增加了小米游戏本关闭安全启动(Secure Boot)的方法,见第【1】4 部分。

【5月14日补充】文后附有直接下载这个AI镜像的方法,可以安装在硬盘上,U盘上,也可以支持Windows和Ubuntu双启动,不破坏原有的Windows系统。米粉玩起来!


最近在学习人工智能和机器学习中,我发现有必要添一台高性能的笔记本电脑,尤其是需要GPU计算能力强的电脑。正好雷军同学发布了可以带到办公室的小米游戏本,我发现小米游戏本采用了i7的标压CPU和高配NVidia GeForce 1060,挺合适我的需要,很幸运也抢到了一台顶配。拿到手第一时间就着手更新了Ubuntu系统,并成功运行起来Tensorflow,两个字“完美~

 

估计也有和我一样有安装Ubuntu需求的同学,特此来分享下安装全程,给大家参考。

 

目前人工智能计算有几个流行平台,分别是Tensorflow, Caffe, PyTorch, CNTK等。我们呢先来试试安装当前非常流行的Tensorflow吧。安装Tensorflow的方法有多种,我采用的在Docker上安装的方式,这样便于移植,需要安装的组件有:


1.       Ubuntu操作系统

2.       NVidia Cuda组件

3.       Docker CE

4.       NVidia Docker

5.    Tensorflow的Docker镜像

 

最后我们做一些AI计算的尝试,对比一下CPUGPUAI计算的性能差异。

好,话不多说,我们开始吧


1】安装Ubuntu操作系统。

1,下载Ubuntu安装镜像

Ubuntu操作系统可以在Ubuntu网站上直接下载,下载链接https://www.ubuntu.com/download选择Ubuntu Desktop

然后看到目前由两个流行的Ubuntu版本,一个是Ubuntu 16.04.4 LTS,另一个是Ubuntu 17.10.1。我选择了16.04.4 LTS。其实是以前下载过这个版本,就一直在使用,所以这次未做变更。


2,制作可以启动的USB盘

Ubuntu下载后,我是直接复制到一只WinPE USB盘中。我将WinPE盘中的文件都删除,直接将Ubuntu安装文件复制进去。这样就可以直接用这只安装盘启动小米笔记本进行安装了。如果你没有WinPE盘也没关系,手工制作一只可启动的Fat32格式空白USB盘就可以了。

操作方法其实很简单,不用像网上很多攻略里介绍的用各种各样的工具。其实在Windows的命令行里就可以轻松制作。制作方法可以参考这个链接:http://blog.sina.com.cn/s/blog_591cd0680102vprr.html

 

我常用的是上述博客中第二种方法:

1,  U盘插入电脑,注意U盘上的内容都将被清除

2,  win键,输入cmd,然后右键点击命令提示符,选择“以管理员身份运行”

3,  然后在命令行提示符里输入diskpart 回车,进入diskpart工具提示符:

c:>diskpart

依照下面提示输入各个命令(diskpart>是提示符):

diskpart>list disk (查看当前磁盘列表,下面选择U盘的磁盘号,这里以1为例。)
diskpart>sel disk 1 (选择U盘)

diskpart>clean
diskpart>cre part pri
diskpart>active
diskpart>format fs=fat32 quick
diskpart>assign
diskpart>exit

这样,可启动U盘就做好了。然后将Ubuntu安装文件复制到这张U盘上就可以了。

(如果你做了下面提到的Windows恢复U盘,那也是一只可启动U盘。所以你可以做2Windows恢复U盘。一个留作备用。另一个用来装Ubuntu。就是将这只U盘里的文件都删除。然后将Ubuntu安装文件都复制过来就可以了。)

 

3,备份小米游戏本当前的Windows系统


强烈建议你在操作之前先制作一个小米游戏本上Windows系统的恢复U盘。因为虽然理论上小米游戏本有SSD和硬盘两个磁盘,你可以不破坏原有的Windows系统而直接安装Ubuntu形成双启动。甚至你可以把Ubuntu安装到一只U盘中。但是安装Ubuntu毕竟会对磁盘分区进行操作,一旦失误可能会影响到你的Windows出厂镜像,那你的机器回不到Windows,玩不了Windows游戏了J。制作Windows恢复U盘的方法很简单,Windows 10中内置的程序recoverydrive.exe,你可以按Win键输入recoverydrive,然后搜索列表中就看到“恢复驱动器”,点“恢复驱动器”,依照指导完成操作就可以制作出一只小米笔记本恢复U盘。做这个操作要准备一只空白U盘。做好恢复U盘后,记得贴一个清楚的标签,以后或许用得到。小米社区也有类似的介绍:http://bbs.xiaomi.cn/t-14291253

 



4,安装Ubuntu操作系统:

按照上面的方法妥善备份小米游戏本上的Windows镜像后,就可以踏踏实实地按装Ubuntu了。

使用前面制作好的Ubuntu安装盘启动电脑,按提示安装即可,网上攻略很多的说。要注意的就是最好在安装Ubuntu前进入BIOS设置关闭安全启动(Secure Boot,小米游戏本更改安全启动设置前要先设置一个BIOS管理员密码。如果没有特殊需要,更改安全启动设置后,建议重设管理员密码为空,以免今后忘记了此密码产生麻烦。


【5/17更新 小米游戏本关闭安全启动(Secure Boot)的方法】

开机按F2键进入BIOS设置,然后用鼠标点右上角“高级模式”,然后在左侧列中选择“安全菜单”,先选择“设定管理员密码”,输入2次相同的密码,比如“123”,"123",然后点“是”按钮,再点“确定”。然后更改“安全启动模式”,选择“关闭”,再点“设定管理员密码”,在“旧密码”中输入刚刚输入的密码,如“123”,然后点“确定”,按F10键保存,退出BIOS设置。


前面制作好的Ubuntu启动U盘插入小米游戏本,然后开机按F12键进入启动菜单,选择对应的Ubuntu安装U盘启动电脑。Ubuntu安装U盘启动后,有一个选单,提示直接运行Ubuntu还是安装Ubuntu,选择Install Ubuntu。安装Ubuntu提示操作即可。


Ubuntu安装完成后,下面的操作就都在运行Ubuntu的小米游戏本上执行了。实际安装效果来看,小米游戏本上Ubuntu运行很好,各设备都可以正常使用,包括蓝牙Wifi等,而且屏幕亮度调节,电源充电指示等也都可以使用。

 

2】安装NVidia Cuda 组件

NVidia CudaNVidia推出的利用NVidia GPU进行平行计算的组件和标准。按照Cuda的方法设计程序,就可以利用上GPU强大的并行计算功能。话说这个CudaNVidia2008年发布的,说明黄教主还真是有长远战略眼光的。回到Cuda的安装,有些攻略里提到安装Cuda前要先安装或更新NVidialinux驱动程序,还要处理Intel显卡和Nvdia显卡一起使用的问题。但安装下面的方法,NVidia Cuda组件会自动更新NVidia驱动程序,不用操太多的心啦。

1,  网络搜索NVidia cuda,找到NVidia官网上的CUDA Toolkit安装 https://developer.NVidia.com/cuda-downloads,然后选择Linux, x86_64, Ubuntu, 16.04, deb (network)

2  然后点“Dowload(2.8KB)”下载这个安装包

3,  然后打开终端管理器,进入download目录,查看一下下载的内容,然后修改一下权限

$cd Downloads/

$ls

$chmod 777 *.*

4,  然后就安装NVidia网页上的安装步骤执行这些命令:

sudo dpkg -i cuda-repo-ubuntu1604_9.1.85-1_amd64.deb

第一次执行sudo命令,会要求输入密码,输入当前用户的密码就好。

sudo apt-key adv --fetch-keys http://developer.download.NVidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub

sudo apt-get update

                sudo apt-get install cuda

5,  等待上面的安装步骤都完成,输入nvidia –smi确认一下安装结果。如果看到下面的内容,那么就是CUDA安装成功啦!



3】安装Docker CE

安装Docker是为了利用Docker的可移植特性,这样我们就可以直接把TensorflowDocker image下载下来直接使用,而省去很多配置的步骤以及不用为可能需要的各种繁琐配置问题操心了。安装Docker就在网上搜索Docker,找到Docker的官网,查看docker的安装文档,我们要装的是Dokcer CE。链接是https://docs.docker.com/install/linux/docker-ce/ubuntu/#set-up-the-repository然后就是按照这里的内容依次执行命令。我就不完整摘抄了。大家看图吧。

1,  升级apt和配置apt

2,  增加Dockerapt GPG key,验证fingerprint,设置stable repository 


3,  上面都还是配置阶段,按照从这个步骤开始,由于网络或者配置的关系,安装或许会失败,遇到失败不用灰心,再重试几次肯定能成功。sudo apt-get updatesudo apt-get install docker-ce反复试就可以。提示是否继续的时候,要输入“y”。





遇到失败不气馁,依照提示信息,使用sudo apt-get install docker-ce –fix-missing 再次尝试,直到成功。



4】安装NVidia Docker

在网络浏览器中搜索NVidia Docker找到githubNVidia的安装页面https://github.com/NVIDIA/NVidia-docker 这里有Ubuntu 16.04中安装NVidia Docker的方法。依照该方法,依次执行命令。


 5】安装Tensorflow Docker Image

 Tensorflow docker image的安装可参照https://hub.docker.com/r/tensorflow/tensorflow/的提示,依照GPU下的tensorflow的安装指导操作。

安装命令为“$ NVidia-docker run -it -p 8888:8888 tensorflow/tensorflow:latest-gpu” 为了更方便使用,我们修改一下这个命令,增加DockerHost共享目录,并且增加命名, 和安装python3版本的tensorflow。修改后的安装命令是:

$ NVidia-docker run -it -v /home/bear/dataset:/notebooks/dataset -p 8888:8888 --network=host --name  tensorflow tensorflow/tensorflow:latest-gpu-py3


上面的内容都成功执行完,那么支持Tensorflow的完整AI平台就做好了。


【验证】我们可以用下面这些例子来看看Tensorflow 采用CPU和GPU计算的对比


最后,我们再来运行一个例子来看看小米游戏本运行TensorflowCPU运算和GPU运算的对比。

 

可以从Github上下载一个例子。

$git clone https://github.com/ClaireYang/tensorflowstudy.git

 

deep_mnist.ipynb这个例子里,有一个声明tensorflow运算方式的代码行,

设定为CPU计算:

with tf.devce(“/device:CPU:0”):

设定为GPU计算:

with tf.devce(“/device:GPU:0”):

可以通过手工修改with tf.devce(“/device:CPU:0”):with tf.devce(“/device:GPU:0”):来体会CPU运算和GPU运算的差异。


同样的方式也可以用于修改Tensorflow内置的代码例子,比如3_mnist_from)scratch.ipynb。我们可以先做一个备份3_mnist_from)scratch-Copy1.ipynb,然后再下面的位置处插入with tf.devce(“/device:CPU:0”):强制Tensorflow使用CPU计算。这样可以对比修改前后程序运行的速度。

也可以在下面的代码段落处增加一个时间输出,这样效果更明显:

如果你也安装成功了,可以把CPU和GPU计算的结果放上来看看。


这样,我们的Ubuntu+Docker+NV Docker+Tensorfow image就成功安装完成了。我们可以利用这个环境学习和开发现在时髦的人工智能技术。如果你对这个也有兴趣,我们一起交流啊!


对了,补充一下。安装好Ubuntu和这么多组件后,你或许觉得这些步骤也挺复杂的。你可以在最后的时候像制作Windows备份一样也做一个包含完整Tensorflow等组件的Ubuntu安装。这样下次重新来过时,就不用重新再装一遍了。但是Windows下的方法对Ubuntu并不适用。Ubuntu可下择一个第三方工具来制作一个备份镜像。这样恢复备份就很方便。也可以移植,比如把自己做的磁盘备份镜像分享给其他也使用小米游戏本的同学。我也做了这个镜像,发现可以方便地恢复到系统中,还可以把硬盘上的Ubuntu移植到U盘中,或者把U盘中的镜像恢复到硬盘中。非常灵活。所以推荐你安装上面的Ubuntu系统后,也制作这样一个备份镜像。


【5月14日补充】直接下载AI安装镜像

再说一下完整镜像的安装。有同学问是否可以分享一下安装好的镜像,我在下面回帖里提到过。现在放到首贴里让大家都看到。上面提到的各组件都已经安装到这个小米笔记本AI镜像中。只要将这个镜像重新恢复到硬盘上即可。

完整的小米游戏本AI 镜像,下载链接: https://pan.baidu.com/s/1Re546b6xv_I4VkKDfH5wew 密码: f2v4这个镜像的Ubuntu用户名bear,密码bear下载后使用Acronis True Image工具恢复AI镜像到硬盘中。

如果您只是想试试的话,也没问题。Acronis True Image工具也支持将镜像恢复到一只U盘中。准备一只16GB以上的USB盘,最好是USB 3.0的。这样可以保证较好的运行速度。然后将镜像直接恢复到这只U盘中,启动电脑时按F12键,选择U盘启动就可以了。

Acronis True Image工具可以在官网上下载。要注意的是,这是一个商业软件。支持免费试用一段时间。

工具下载网站:https://www.acronis.com/zh-cn/personal/computer-backup/

 

试用版下载链接:www.tieten.cn/trialBuy/acronis/index.html#bga4选择Acronis True Image 2018 PC版。



Acronis True Image的使用就不赘述了。使用它将AI镜像完整复制到硬盘或者U盘上就可以了。如果原有的Windows也有保留,那么重新启动电脑时,就会有一个多启动的菜单,选择Ubuntu进入AI镜像,选择Windows Boot Manager进入Windows 10

扫描二维码,手机查看本帖
发表
最新评论 | 正序排列
只看楼主|楼层直达:
  • Mi_1108001019   骨灰级手机控 发表于 08-17 20:02:46 ·来自PC 只看该作者 159#
    我一直用联想 发表于 2018-08-13 08:31:34

    虚拟机岂不是更方便?

    那不牺牲性能了

    回复 举报

  • 天生天养   神马级手机控 发表于 08-13 08:33:47 ·来自移动端 只看该作者 158#

    支持小米

    回复 举报

  • 我一直用联想   发烧级手机控 发表于 08-13 08:31:34 ·来自PC 只看该作者 157#
    虚拟机岂不是更方便?

    回复 举报

  • sxffghpppppccff   潜力级手机控 发表于 07-21 02:54:08 ·来自PC 只看该作者 156#
    Mi_173855513 发表于 2018-07-07 19:04:44

    您好,我也遇到了 i2c_hid i2c-CUST0001:00: i2c_hid_get_input: incomplete report (14/65535)这样的问题,ubuntu16.04.4上。请问可有解决方法?

    参看 https://bbs.archlinux.org/viewtopic.php?pid=1796343

    回复 举报

  • Mi_1293507081   潜力级手机控 发表于 07-11 21:52:47 ·来自移动端 只看该作者 155#

    大佬大佬问一下小米游戏本开机就黑屏,光有个鼠标指针怎么办啊。。。任务管理器也打不开

    回复 举报

  • Mi_173855513   发烧级手机控 发表于 07-07 19:04:44 ·来自PC 只看该作者 154#
    Farmer_John 发表于 2018-05-10 11:27:57

    多谢,后面我用一个 USB 2.0 的小 U 盘装上了 Manjaro, 不过触摸板驱动貌似有些问题,没有 Windows 下面的流畅,有类似丢包的感觉,会出现特别是单/双指触摸做为鼠标左右键的时候。另外 dmesg 看到的 kernel 一直在报 i2c_hid i2c-CUST0001:00: i2c_hid_get_input: incomplete report (14/65535) 这样的错误信息。你也有这样的情况吗?

    您好,我也遇到了 i2c_hid i2c-CUST0001:00: i2c_hid_get_input: incomplete report (14/65535)这样的问题,ubuntu16.04.4上。

    请问可有解决方法?

    回复 举报

  • duoduobear   发烧级手机控 发表于 07-03 10:18:27 ·来自PC 只看该作者 153#
    a00764599 发表于 2018-07-02 22:46:59

    請問安装会遇到黑频吗? 目前我在装18.04会黑频

    16.04不会。18.04可能遇到黑屏,可以试试多插一只fat32空U盘,看看能否跳过去。

    之前的帖子有一些讨论。

    回复 举报

  • a00764599   神仙级手机控 发表于 07-02 22:46:59 ·来自PC 只看该作者 152#
    請問安装会遇到黑频吗? 目前我在装18.04会黑频

    回复 举报

  • duoduobear   发烧级手机控 发表于 07-02 18:02:09 ·来自PC 只看该作者 151#

    最近遇到一些朋友仍然使用速率比较慢的U盘,如果把Ubuntu装U盘上的话,还是建议选择速度快的USB3.0规格的U盘。不少U盘号称支持USB 3.0,但实际传输速度还是USB 2.0级别的,这个要注意。USB2.0 U盘理论上最大支持40MB/s磁盘读写,如果你的USB 3.0 U盘读写速度是这个级别的,那就是上当了。【捂嘴笑】 至少要买实际读写速度超过100MB/s的U盘啊!

    回复 举报

  • FuckDoctors   发烧级手机控 发表于 06-19 22:23:35 ·来自 只看该作者 150#

    牛啊,围观一下

    回复 举报

  • 那①哖   骨灰级手机控 发表于 06-14 10:19:25 ·来自PC 只看该作者 149#

    谢谢

    回复 举报

  • duoduobear   发烧级手机控 发表于 06-11 14:58:15 ·来自PC 只看该作者 148#
    Mi_248206058 发表于 2018-06-05 13:51:49

    楼主,您好!我发现你的镜像恢复到U盘后,无论U盘本身是多大的容量,都会只有32GB。可能和你制作镜像的时候使用的是32GB的U盘有关。 这里和大家分享一个小技巧,如果有用64GB,128GB等更大容量U盘的童鞋,可以使用gparted这个工具,很方便地把工作分区扩大到64GB,128GB。详细操作步骤请参考: https://blog.gtwang.org/linux/gparted-gnome-partition-editor-and-live-cd-usb/

    谢谢你提供这么有用的信息啊!


    我没有32GB以上的U盘可以试,所以一直都只用32GB的U盘呢。【汗】


    不过我看了恢复到硬盘上的情况。原镜像试32GB U盘上生成的,但恢复到硬盘上,镜像工具还是正确处理了分区。这个还不错。


    回复 举报

  • duoduobear   发烧级手机控 发表于 06-01 16:54:41 ·来自PC 只看该作者 145#

    应朋友的要求,看了一下小米游戏本上安装Ubuntu 14.04的情况。但安装都未成功。最初启动的时候有显示unknown chipset,应该是新的芯片组在Ubuntu 14.04里不识别,无法适配到正确的驱动程序。我试了一些方法都未成功。所以还是使用Ubuntu16.04较好。

    回复 举报

  • testminote4x   潜力级手机控 发表于 05-30 23:37:40 ·来自PC 只看该作者 144#
    duoduobear 发表于 2018-05-30 11:10:15

    你发的两个帖子,我合并回答。我没有使用type-c转USB 2.0的接口设备。而且我使用的就是USB 3.0的U盘(我用的U盘是Sandisk CZ80,好像有人反映小米游戏本上安装Ubuntu会挑U盘,但我未遇到)。Ubuntu镜像来自Ubuntu的iso档,但我是手工复制到可启动U盘上的。可启动U盘的制作在顶楼里有。理论上win8和win10版本的winpe的U盘就可以,但要把winpe上的文件都删除。关键点在于该U盘设置分区未活动分区,文件格式为fat32。

    好,谢谢你

    回复 举报

  • duoduobear   发烧级手机控 发表于 05-30 11:10:15 ·来自PC 只看该作者 143#
    testminote4x 发表于 2018-05-30 10:15:54

    你好,请教一下,怎么看有帖子说安装16.04需要使用typec转usb2.0接口设备啊,你用了吗,你用usb3.0的u盘吗,刻录镜像直接使用winpe可以

    你发的两个帖子,我合并回答。

    我没有使用type-c转USB 2.0的接口设备。而且我使用的就是USB 3.0的U盘(我用的U盘是Sandisk CZ80,好像有人反映小米游戏本上安装Ubuntu会挑U盘,但我未遇到)。Ubuntu镜像来自Ubuntu的iso档,但我是手工复制到可启动U盘上的。可启动U盘的制作在顶楼里有。理论上win8和win10版本的winpe的U盘就可以,但要把winpe上的文件都删除。关键点在于该U盘设置分区未活动分区,文件格式为fat32。

    回复 举报

  • duoduobear   发烧级手机控 发表于 05-30 11:07:22 ·来自PC 只看该作者 142#
    Mi_1476487667 发表于 2018-05-29 16:49:57

    楼主,很强,我最近也在学习深度学习这块儿,也刚刚入了这个本,就是感觉这个本的风扇比我之前用的本声音都大,cpu温度30多点 转速就2200,跑程序肯定声音更大,楼主有这样的情况吗

    我今天用机器的时候特意留意了一下风扇的情况,留意的话,的确声音挺大的。但如果我按机器左上角的风扇键,风扇转速仍然可以再提高,声音更大。所以看来就是这样的一个情况。当CPU,GPU运转起来后,风扇转速提高,还是有明显的风扇噪音的。而对比Windows下,在空闲时,风扇就很安静。

    回复 举报

  • testminote4x   潜力级手机控 发表于 05-30 10:22:53 ·来自PC 只看该作者 141#

    你好,我看有帖子说安装16.04需要typec转usb2.0 hub,需要吗,还有你用的usb3.0的u盘吗,你直接使用winpe刻录的镜像吗,用16.04官网镜像刻录会有问题?

    回复 举报

  • testminote4x   潜力级手机控 发表于 05-30 10:15:54 ·来自PC 只看该作者 140#
    你好,请教一下,怎么看有帖子说安装16.04需要使用typec转usb2.0接口设备啊,你用了吗,你用usb3.0的u盘吗,刻录镜像直接使用winpe可以

    回复 举报

  • duoduobear   发烧级手机控 发表于 05-29 18:09:30 ·来自PC 只看该作者 139#
    Mi_1476487667 发表于 2018-05-29 16:49:57

    楼主,很强,我最近也在学习深度学习这块儿,也刚刚入了这个本,就是感觉这个本的风扇比我之前用的本声音都大,cpu温度30多点 转速就2200,跑程序肯定声音更大,楼主有这样的情况吗

    我还真没太注意这个事情,回头我留意一下。

    回复 举报

  • Mi_1476487667   潜力级手机控 发表于 05-29 16:49:57 ·来自PC 只看该作者 138#
    楼主,很强,我最近也在学习深度学习这块儿,也刚刚入了这个本,就是感觉这个本的风扇比我之前用的本声音都大,cpu温度30多点 转速就2200,跑程序肯定声音更大,楼主有这样的情况吗

    回复 举报

回复