1.扯一会

提到Mac很多人估计会觉得高大上,其实我也是这么认为的,因为我在13年之前用的不是Mac 而是普通的笔记本,总幻想着拥有一台Mac,当然了这个愿望在13年10月份左右就实现了

Mac最大的特点估计就是

a. 装x

b. 轻便好携带

c. Mac OS系统的流畅,以及几乎没有广告以及病毒的侵扰

d. 很容易编写、运行类Unix系统平台上的程序(MacOS就是根据很久之前的Unix系统发展而来,当然得支持Linux控的需求啦)

e. 搞UI设计的同学也非常喜欢

。。。

2.引入正题

2.1 为什么我会想到在Mac上安装Ubuntu呢?

2.1.1 “模型”惹的祸

之前当我需要用到Linux系统(例如Ubuntu这个发型版本)时,我基本都会在虚拟机(就是在Mac电脑上用特殊软件再虚拟出一台电脑,软件有很多,我一直喜欢用VMware)

可是最近需要研究人工智能(听上去高大上,实际上啊离真正的智能人脑还有很大差距)中的深度学习,再说的具体点就是需要用到训练模型,例如使用TensorFlow进行训练,

说到这估计很多同学就说,我要进行的“训练”与安装Ubuntu什么关系啊,这八杆子还没有一撇呢!请听我慢慢道来

因为我手头只有Mac电脑,自己阿里云的服务器性能一般(平时也就用来完成基本的web项目),而想要完成人工智能 其中一个很重要的一点是得到一个“类似人脑”的模型,可用理解为一套算法,用这个“算法”去工作,像语音识别,车牌识别等,而得到这个“模型”,就需要“训练”,这个过程是需要大量的计算的,而使用CPU(就是电脑上最核心的那块)的话 训练的时间太长太长了

因此,在研究深度学习这块,基本都不会使用CPU,而是使用GPU来实现模型的训练

2.1.2 Mac上的GPU

也不知是为什么,Mac电脑这么优秀,按常理说什么都是优秀的才对,这话在人工智能方面就差点意思了,为什么这么说呢?

现在(2019年)Mac上的GPU型号都是AMD的,而不是英伟达的,而训练模型方面英伟达的显卡被很多人工智能框架的厂商支持,而AMD的很少,当时自己不知郁闷了多久(我一直跟学生说Mac多么多么的好,这脸被打的啪啪响。。。)

还好,终于搜索到了一点信息,可用使用ROCm这个平台来实现对TensorFlow的支持,逻辑图如下

既然看到了曙光,那么久研究呗,所以进入到ROCm的研究

2.1.3 要疯了,Mac竟然不支持ROCm

看到ROCm之后,就像看到了一根 jiu ming 稻草,赶紧各种Google、Bing,最终发现,这个该s的ROCm现在支持支Linux系统版本

2.1.4 安装Ubuntu的原因归纳

经过上面的一番折腾,终于到了本话题的结束语,由于需要使用TensorFlow这样的框架,它需要计算性能更高的GPU,而Mac只有AMD的GPU,而想要用这样的GPU就需要安装ROCm,而ROCm不能再Mac OS上安装,

所以我需要在Mac这台电脑上安装Ubuntu,那为什么不使用之前提到的虚拟机来实现呢,我的想法时虚拟机的性能本来就比物理机要慢,然后用它来训练模型肯定不会很快,所以就在在Mac电脑上在保留Mac os系统的前提下 安装Ubuntu这款Linux发行版系统

2.2 Mac安装Ubuntu双系统(注意新手最好不要操作,有可能会将Mac给全盘抹掉)

安装的大体流程如下,如果遇到问题请自行google

a. 下载Ubuntu18.04.iso 文件,这个Google、百度出很多,免费的

b. 找一个U盘

c. 将Ubuntu18.04.iso解压(普通的压缩文件即可)会得到一个文件夹

d. 将上一步得到的文件夹中的所有文件复制到U盘中

e. 磁盘分区(就是从现有硬盘中分一片空间 用来安装Ubuntu)

f. 关闭Mac电脑

g. 启动电脑(注意,在按下电源键之后,要迅速的按下option键),此时会出现选择项

h. 选择EFI

i. 接下来会看到Ubuntu的系统界面,然后桌面上有安装的快捷键,一步步安装即可(注意这个过程中选择硬盘时 一定要选择步骤e分出来的那块,否则选错之后Mac系统上的所有资料就可能全被删除)

注意:

1. 上述步骤仅仅是我现存的一点记忆,安装的时候没有截图,所以各位同学如果觉得抽象,且自己想安装的话,可用自行google也会查询出很多Mac安装Ubuntu的教程

2. 因为已经安装了双系统所以,重启电脑后,默认是进去Ubuntu,如果想切换到Mac 请重启电脑,然后按住option键,选择即可

2.3 Ubuntu安装ROCm

当成功启动Ubuntu系统之后,立即就通过ROCm的官方文档,安装了ROCm,安装的过程还算顺利

大体流程如下:

a. 修改Ubuntu18.04的更新源为阿里云

b. 使用apt-get install 命令安装ROCm

如果安装过程有问题,可用参考这篇文章https://www.jianshu.com/p/6fabdcde831b

2.4 又又又遇到问题

安装完ROCm之后,就安装TensorFlow的GPU版本,参考的方式见https://pypi.org/project/tensorflow-gpu/ 效果如下

本以为安装完TensorFlow之后,就可以了,说实在的 当时的心情真的 很开心。。。。就像中奖一样。。。。飘阿飘啊。。。。。我飘了。。。。

但是,但是,但是

当我在执行import tensorflow后,竟然出错了,,,,,,天空一万匹马。。。。

万念俱灰,,,,

怎么办?

干脆删了Ubuntu吧,既然它不能用ROCm留着还占用空间,不删除等什么。。。。。

2.5 Mac系统崩溃了

重启系统之后,选择运行了Mac OS,然后准备用“磁盘工具”将之前分配给Ubuntu的空间删除,所以就打开了这个软件

打开之后,选择了之前分配的Ubuntu空间,然后将其进行了“抹掉”

但是抹掉的操作是成功的,只不过当时抹掉之后,我注意到了一点 磁盘的某个信息是FFFFFFFFFF,当时心里还在嘀咕,不会重启之后不能启动吧,,,,呸,,这乌鸦嘴。。。。

果不其然,重启之后,就么有然后了,不能进入macOS,而是一个"grub"的界面,,,,,,这个我大体之后再09年上学那会当时用的普通笔记本电脑重新Windows系统时遇到过,可是这都10年了谁还记得

当时是晚上11点左右(周4),既然不能进入那就赶紧Google吧,晚上11点了,电脑不能开机,怎么查?只能用手机,此时才真正体会大屏的好处,,,,查了N久 结果无功而返。。。

还好第二天周五不上课,学生做项目(Python Django web 项目),我这一天也没闲着,打了4个苹果客服的电话,让其帮我解决问题 (主要的问题是 可用重装macOS系统,但是想把之前的数据copy,即备份),

可是 他们依然没有解决(不过这个过程倒是知道了一件事情,苹果的官方客服可用远程操作指定apple id的手机,之前远程控制过Mac,而这次是手机 这个就厉害了,这足够说明 苹果的系统有很多个后门,只是我们用户不知道而已,可想而知暗地里苹果收集了多少中国的重要信息,真的是可怕;感慨什么时候我们国家才会有真正自己研发的可以真正用的操作系统,当然了此时华为已经发布了 鸿蒙操作系统,但是真正商用,老百姓用还很久。。。)

最终我决定全盘抹掉,哥哥我 不要数据了总行了吧,让我开机这可以吧,我下周还有上课的啊。。。。。。。

以上就是我在Mac上安装Ubuntu18.04组成双系统,以及最后悲催的整个事情来龙去脉,看到这也累了吧,没关系 下面还有总结呢 哈哈哈。。。

3. 总结

对于此事情,我感受颇深,以下是简明扼要的总结

a. Mac还是Mac 就不要瞎搞 安装Ubuntu了,因为Mac本身就能做到大部分的Linux的事情(本是同根生嘛)

b. 想要搞深度学习,肯定离不开训练模型,此时可以考虑租用云GPU(我也是事后才知道还有这,获取这个事情的代价太大了,这学费太贵了),如果土豪可以考虑直接买像2080的GPU,土豪嘛不差钱

c. 苹果的售后真的很棒,这已经不止是第一次感慨这个事了。试想如果苹果对我服务的到位了,我肯定会介绍更多的人买Mac啊,苹果收益会更大,而不是像一些其他公司 剩这些小钱不去做服务,眼光不够长远

d. 数据备份很重要,我之前为了以防万一已经把课件、视频、资料等都进行了备份,但是备份时间较长了,一些最新的数据并没有及时备份,这导致事后我花了一点时间 来将之前的数据(包括一些课件)重写了一遍

Mac安装Ubuntu18.04双系统经验以及感悟的更多相关文章

  1. Windows10安装ubuntu18.04双系统教程

    写在前面:本教程为windows10安装ubuntu18.04(64位)双系统教程,是我多次安装双系统的经验总结,安装方法同样适用于ubuntu16.04(64位).为了直观和易于理解,我会尽量图文并 ...

  2. win10系统下安装Ubuntu18.04双系统

    1.http://releases.ubuntu.com/18.04/ubuntu-18.04.2-desktop-amd64.iso下载Ubuntu 18.04镜像,准备好一个空的U盘 2.下载ru ...

  3. Windows10安装ubuntu16.04双系统教程

    写在前面:本教程为windows10安装ubuntu16.04(64位)双系统教程,是我多次安装双系统的经验总结,安装方法同样适用于ubuntu18.04(64位).为了直观和易于理解,我会尽量图文并 ...

  4. Ubuntu18.04双系统下安装CUDA10+cuDNN7.5

    前言 本篇写于2019-4-25 这两天装Ubuntu18.04双系统简直装到崩溃.一是非常著名的开机卡死在Logo界面的问题,另一个是在装Nvidia驱动和CUDA的时候,更是费心.而网上的资料又良 ...

  5. Win7 U盘安装Ubuntu16.04 双系统详细教程

    Win7 U盘安装Ubuntu16.04 双系统详细教程 安装主要分为以下几步: 一. 下载Ubuntu 16.04镜像软件: 二. 制作U盘启动盘使用ultraISO: 三. 安装Ubuntu系统: ...

  6. win10安装ubuntu16.04双系统

    前话:因为感兴趣吧也是专业需要,所以自学了U盘重装系统以及在win10的情况下安装Ubuntu16.04双系统.借此博客,记录下我安装Ubuntu的过程,方便日后回忆. 正因如此,本篇博客会写的十分简 ...

  7. win10安装ubuntu16.04双系统历程

    目录 win10安装ubuntu16.04双系统 历程 安装时间 安装准备 安装过程 其他问题 win10安装ubuntu16.04双系统 历程 安装时间 2018.11.30 安装准备 u盘(格式化 ...

  8. Windows下安装Ubuntu16.04双系统

    ROS需要在Ubuntu系统上开发,虚拟机跑Ubuntu开发ROS容易出现各种各样的问题,所以需要安装Ubuntu16.04双系统.笔者也是一步步按着网上的帖子来,由于网上的教程都不是最新的而且有的也 ...

  9. Win10系统下安装ubuntu16.04双系统-常见问题解答

    Win10系统下安装ubuntu16.04双系统-常见问题解答 1. 安装ubuntu16.04.2系统 磁盘分区形式有两种:GPT和MBR,关系到设置引导项.在win10下压缩出500GB空间给ub ...

随机推荐

  1. web自动化测试启示篇

    1.首先,对于想学自动化测试的朋友,那么你得懂一种语言,常用的比如Java或者Python.因为没有语言基础,你是写不出自动化脚本的. 我个人选择java 2.有了开发语言的铺垫,那么开始入手Sele ...

  2. 0xe7f001f0!?NDK调试过程,无故抛出SIGSEGV。

    arm调试过程,如果抛一个SIGSEGV,地址在 0xe7f001f0 附近,原因居然是因为我在调试.当我使用n指令跳到下一行代码时,往往变成了continue指令一样地执行.还不确定地抛出SIGSE ...

  3. API的描述语言--Swagger

    Swagger是一种Rest API的表示方式. 有时也可以作为Rest API的交互式文档,描述形式化的接口描述,生成客户端和服务端的代码. 一,描述语言:Spec Swagger API Spec ...

  4. Openlayers Projection导致经纬度颠倒问题

    问题: openlayers3调用TileWMS接口,实现Openlayers加载Geoserver转发的ArcGIS切片时,web墨卡托(wkid3857)没有问题,但是WGS84(wkid4326 ...

  5. JavaScript笔记五

    1.条件分支语句 - switch语句 - 语法: switch(条件表达式){ case 表达式: 语句... break; case 表达式: 语句... break; case 表达式: 语句. ...

  6. 快速入门函数式编程——以Javascript为例

    函数式编程是在不改变状态和数据的情况下使用表达式和函数来编写程序的一种编程范式.通过遵守这种范式,我们能够编写更清晰易懂.更能抵御bug的代码.这是通过避免使用流控制语句(for.while.brea ...

  7. python网络爬虫之自动化测试工具selenium[二]

    目录 前言 一.获取今日头条的评论信息(request请求获取json) 1.分析数据 2.获取数据 二.获取今日头条的评论信息(selenium请求获取) 1.分析数据 2.获取数据 房源案例(仅供 ...

  8. flanneld 安装

    目录 flanneld 安装 下载分发flanneld二进制文件 分发二进制文件到所有集群的节点 创建Flannel证书和私钥 创建证书签名请求 生成证书和私钥 向etcd写入Pod网段信息 创建fl ...

  9. Docker 自建私有Registry 私有仓库

    目录 说明 介绍 原理 搭建 查看配置文件 启动 上传和下载镜像测试 测试上传镜像 测试下载镜像 说明 记录搭建 docker 私有仓库步骤 介绍 docker镜像可以托管到dockerhub中,跟代 ...

  10. Ansible Playbooks 介绍 和 使用 一

    目录 Ansible Playbooks Playbooks 组成部分: YAML 介绍 YAML 语法 Ansible 基础元素 变量 facts registre 通过命令传递变量 通过roles ...