机器学习linux系统环境安装

安装镜像下载

  • 可以自己去ubuntu官方网站按照提示下载amd64的desktop版本
  • 或者考虑到国内镜像站点下载,如tuna163, ali

课程使用最新的18.04.2镜像即可,如果是物理机安装,而且有GPU可用,可以参考课程给出的其他视频安装GPU版本的tensorflow。

系统镜像有desktop版本和server版本,server版本完全不带gui,只有命令行,不太适合日常用。

系统安装

物理机安装

双系统安装ubuntu,网上教程比较多,步骤比较繁琐,这里不再赘述,有一些注意事项这里列一下:

  • 双系统安装ubuntu,需要先在电脑硬盘上分出一个足够大的分区,这种分区操作有可能是破坏性的,请参考你看的教程的说明
  • 物理机安装需要准备一个U盘用于制作启动盘,666一下ubuntu启动U盘制作即可。
  • 由于物理机安装有可能会破坏磁盘结构,所以安装前需要小心备份主机上所有的数据。
  • 如果是比较新的笔记本,bios里面可能启动了secure boot,这种时候需要先禁用secure boot再进行安装
  • bios如果支持legacy方式,尽量使用legacy方式安装双系统,eif模型安装ubuntu双系统的时候,因为efi启动系统一般只认识/boot/efi/bootx64.efi,所以可能需要额外的设置才能启动系统。但是如果原来就是efi模式启动的windows,改成legacy可能无法启动。
  • 系统内存比较小的话,尽量多使用交换区,但是交换区的速度很慢,需要注意

直接使用物理机安装ubuntu的话,由于机器不同,操作者经验的多寡,安装过程中肯定会出现各种问题,勤666,不是太诡异的机器,一般都能找到解决办法。

atom平台的机器,如atom n280之类的一些上网本,因为机器不支持64位指令集,所以无法安装64位系统,可以安装32位的

虚拟机安装

教程使用virtualbox虚拟机进行安装,其他虚拟机如vmware是收费的,这里不做说明。windows的HyperV也可以用来安装ubuntu,性能也没什么大问题。

虚拟机软件下载

这里下载virtualbox的安装文件,记得把ext包也下载了安装好。

需要去bios启动intel虚拟化,才能使用64位虚拟机安装。

新建虚拟机

新建一个ubuntu的虚拟机,虚拟机软件本身已经很智能,只要输入名字就可以匹配对应的系统了。

新建虚拟机的时候,注意在自己硬盘上空间足够大的情况下,给虚拟机分配足够大的硬盘空间。

内存也是在自己内存足够的情况下分配尽可能大的内存。

虚拟CPU,如果自己主机的cpu比较好的话,可以多给虚拟机分几个CPU,虚拟机的运行会快得多。

安装过程

虚拟机里面的系统启动后,界面可能不够大,需要扩大一下窗口

选择语言

选择语言的界面什么提示都没有,这里需要按上下左右并按回车来确认语言选择。

准备安装ubuntu

这里一定不要选择安装的时候下载ubuntu更新,安装完成之后再进行系统更新

安装类型

如果是在虚拟机里面,一般直接选择清除整个磁盘并安装Ubuntu是最省事的做法,但是我们这里需要自己设置一下交换区,所以选择其他选项

如果是在物理机上进行双系统安装,情况还要复杂一点,需要事先规划好磁盘的空间。

分区
  • 分区需要至少指定一个根分区和一个交换区,交换区推荐的容量是内存容量的两倍。
  • 分区格式中,ext4是个比较不错的选择,如果虚拟机建立在ssd上,那么btrfs也是一个不错的选择。
  • 安装启动引导器的设备一般使用默认的就可以

物理机安装的时候,引导设备需要小心选择,linux会覆盖windows的引导设置,linux装好了,windows却启动不起来的情况经常出现

地区设置

按照实际的地区设置即可,国内用户直接选择上海即可。

设置用户名

按照自己的喜好进行设置即可,请一定记住设置的密码。自动登录可以勾选,但是不建议。

加密我的主目录这个如果不是非常特殊的情况,一般不要选择。

安装

安装过程很长,而且中间还要自动下载一些东西,如果不想等待,可以选择关掉虚拟机的网络,等跳过下载之后再打开网络

安装完成,虚拟机系统自动重启

安装完成之后,推荐利用snapshot功能创建一个还原点,以备不时之需。

安装完成之后的设置

apt源更换

ubuntu默认的镜像源地址在海外,国内的镜像源地址也不一定好使,可以考虑使用国内的镜像源:

sudo nano /etc/apt/sources.list

国内镜像源可以使用的有tuna,ali,163等,具体使用方式参考各镜像源的帮助文件

tuna的source文件内容,仅适用于ubuntu-18.04:

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
# deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
# deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
# deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
# deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
# deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

系统安装完成后,先执行系统更新,更新完后建议重启一下系统:

sudo apt-get update
sudo apt-get upgrade
sudo reboot

机器学习环境安装

安装pip:

sudo apt-get install python3-pip

这里安装的是python3版本的pip,鉴于python2已经开始宣布停止支持的计划,如果没有特殊需要的话,以后一律使用python3.

pypi的源也在海外,速度比较慢,推荐可以使用国内douban,ali等的镜像源

nano ~/.pip/pip.conf

如果没有这个目录和文件的话,手动创建一个就可以。

douban的pip.conf配置:

[global]
index-url = https://pypi.douban.com/simple
[install]
trusted-host=pypi.douban.com

ali的pip.conf配置:

[global]
index-url = http://mirrors.aliyun.com/pypi/simple
[install]
trusted-host = mirrors.aliyun.com

tuna的pip.conf配置:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=pypi.tuna.tsinghua.edu.cn/simple

安装jupyter notebook,xgboost,lightgbm,scikit-learn

pip3 install jupyter xgboost lightgbm scikit-learn

我们使用的是ubuntu18.04.2版本的系统,pip安装的东西默认放到当前用户的home目录下的.local目录里面,仅供当前用户使用,所以可以不用加sudo。

安装完成之后,需要执行以下这个命令,或者将这个命令,放到你的.bashrc:

export PATH=$PATH:$HOME/.local/bin

很多系统都是自动做了这个设置,不知道为啥这个系统需要手动做这个设置

机器学习环境的使用

执行以下命令,可以在虚拟机内部直接开启notebook:

jupyter notebook

需要注意的是,命令行窗口里面运行的实际就是notebook的server进程,使用的时候,一定不能关掉,否则server也会被一起关掉。

notebook默认是在localhost上开启的,如果想要在虚拟机外部访问notebook,需要执行以下操作:

jupyter notebook password # 设置密码,用于登录
jupyter notebook --ip 0.0.0.0 #在0.0.0.0的地址上,接收所有的网络连接,不加ip参数,默认是只能在虚拟机内部使用

此时在外部就可以通过设置的密码和虚拟机的ip来访问虚拟机内部的noteboook了。

虚拟机的ip可以通过ip addr命令查看,虚拟机的ip可能是内部ip,所以虚拟机的网络需要从nat方式切换为桥接模式。切换网卡模式之后,需要让虚拟机网络重启一下。


配套视频:https://edu.csdn.net/course/detail/7433

BIilibili视频:https://www.bilibili.com/video/av20786168/

机器学习linux系统环境安装的更多相关文章

  1. 【数据库】4.0 MySQL入门学习(四)——linux系统环境下MySQL安装

    1.0 我的操作系统是CentOS Linux release 7.6.1810  (Core) 系统详细信息如下: Linux version 3.10.0-957.1.3.el7.x86_64 ( ...

  2. Linux系统环境下MySQL数据库源代码的安装

    Linux系统环境下MySQL数据库源代码的安装 基本环境:CentOS Linux release 7.8.2003 (Core).MySQL5.6 一.      安装环境准备 若要在Linux系 ...

  3. linux python 安装 nose lapack atlas numpy scipy

    linux python 安装 nose lapack atlas numpy scipy --http://lib.csdn.net/article/python/1262 作者:maple1149 ...

  4. CentOS Linux 系统 安装oracle 11g

    CentOS Linux 系统 安装oracle 11g 在Linux系统上安装oracle是比较麻烦,需要配置各种变量啥的,o(︶︿︶)o ,但是没办法,有些东西你总的去接触,而且接触理解的越早越深 ...

  5. Linux之安装常用软件

    Linux下安装软件的方法: 1,rpm(不推荐使用) 2,yum安装(使用快捷方便) 3,编译安装 一.安装python3(这里使用的是编译安装) 1,下载python3源码包 在centos下,第 ...

  6. 详细介绍Ubuntu 16.04系统环境安装Docker CE容器的过程

    由于项目的需要,我们在很多软件配置环境中需要用到Docker容器,这个时候我们可以用自己的VPS主机搭建.在这篇文章中,笔者将会利用Ubuntu 16.04系统环境安装Docker CE容器的过程.如 ...

  7. Macbook系统环境安装wget的2个方法 - 传统包及Homebrew安装

    文章目录 这里有2个方法可以安装wget命令工具: 考虑到自身项目的拓展需要,朋友建议学习Python爬虫这样对于做大数据采集有较大的帮助,老蒋虽然每天也都接触一些脚本和程序的修改,但是并没有专业和系 ...

  8. linux学习:【第1篇】初识Linux及安装

    狂神声明 : 文章均为自己的学习笔记 , 转载一定注明出处 ; 编辑不易 , 防君子不防小人~共勉 ! linux学习:[第1篇]初识Linux及安装 写在前面 学习之初看了一段文章,很有感触,所以也 ...

  9. day 56 linux的安装python3 ,虚拟环境,mysql ,redis

    1.1下载python源码包 网址:https://www.python.org/downloads/release/python-366/ 下载地址:https://www.python.org/f ...

随机推荐

  1. 新建一个self hosted Owin+ SignalR Project(2)

    ASPNET SignalR是为ASP.NET开发人员提供的一个库,可以简化开发人员将实时Web功能添加到应用程序的过程.实时Web功能是指这样一种功能:当所连接的客户端变得可用时服务器代码可以立即向 ...

  2. mysql建表规范及注意事项

    表设计规范 1.库名,表名,字段名必须使用小写字母,“-”分割 ,长度不得超过12字符 , 要见名识意 : 2.建议使用Innodb存储引擎 (1)什么是存储引擎 不同的技术及配套的相关功能就是存储引 ...

  3. oracle query

    不等值连接查询 员工工资级别 select e.empno,e.ename,e.sal,s.grade from emp e,salgrade s where e.sal between s.losa ...

  4. C++学习(四十)(C语言部分)之 学生管理系统设计

    涉及到的:指针申请内存 结构体数据结构部分排序文件操作 vs2013数据结构 排序 结构体 指针 功能:1.人工录入信息2.删除3.查找4.修改5.全部显示6.文件的读取和保存7.排序 设计:学生信息 ...

  5. 二维数组的查找(JAVA)

    二维数组查找 解题思路:找到该二维数组的特殊点,易知该二维数组左下角的那个点很特殊.从这个点往右看,数值都在变大:而往上看,数值都在变小.所以 我们可以将这个点的索引设为起点(i,j),当比目标数大时 ...

  6. C# 左右补零

    //不够4位补零 public static string addZero(int val) { string str = val + ""; int strLen = str.L ...

  7. linux安装redis标准流程-按这个来

    1.将下载好的压缩包放到/usr/local目录下# tar xzf redis-3.2.9.tar.gz # cd redis-3.2.9 # make 提示错误 make: cc: Command ...

  8. Python 模块collections

    1.深入理解python中的tuple的功能 基本特性 # 可迭代 name_tuple = ('0bug', '1bug', '2bug') for name in name_tuple: prin ...

  9. jQuery解决IE6/7/8不能使用 JSON.stringify 函数的问题

    原文地址:http://www.ynpxrz.com/n1445665c2023.aspx JSON 对象是在 ECMAScript 第 5 版中实现的,此版于 2009 年 12 月发布:IE6 I ...

  10. 关于分布式uuid的一点设想

    在一次公开课上,听别人讲过全局分布式uuid的设计,听过twitter的snowflake的设计.也听过,如果使用单独的计数器服务,不可能每次都保存当前计数器到文本,自己想到应该可以每隔一些数,例如1 ...