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. 管理系统和服务systemctl(centos6:chkconfig、service命令)

    传统:SysV init 红帽6.Ubuntu6:采用Upstart 红帽7:采用全新的Systemd SysV init运行级别,主题思想是串行的启动所有将来需要用到的服务(所以计算机没有利用多CP ...

  2. 编译带libev和libuv的libwebsocket (Win平台)

    编译使用libwebsockets-2.0-stable版本. 编译依赖项目cmake,lws项目配置和生成依赖python, gpy工具依赖gpy, libuv项目配置和生成依赖,又一个项目配置和生 ...

  3. 线程同步&线程池

    线程同步&线程池 线程同步 线程不同步会出现的问题: 当多个线程操作同一资源时,会出现重复操作和和操作不存在的资源的问题,为了规避这一问题就需要线程的同步操作来实现资源的共同使用. 线程同步: ...

  4. python2中的SSL:CERTIFICATE_VERIFY_FAILED错误的解决办法

    在使用urllib2访问一个自签名的https链接时,对于python2.6以下版本,TLS握手期间是不会检查服务器X509的证书签名是否是CA的可信任根证书.不过python2.7以后改变了这种情况 ...

  5. Nethunter开启ssh服务

    ### 本节用来纪念我和我的Nethunter SSH服务的血泪史 刚安装好Nethunter后,手机的各种功能也是令我眼花缭乱,对手机是爱不释手,可是,手机开启ssh服务之后,电脑无法连接,这就很尴 ...

  6. SCAU-1144 数星星-HDU-1166-树状数组的应用

    本文借鉴代码提供:https://www.cnblogs.com/geek1116/p/5566709.html树状数组详解:https://www.cnblogs.com/xenny/p/97396 ...

  7. GeoServer 发布的图层预览不了

    说明: 在用Geoserver发布Postgis发布的图层后,去LayerPreview中预览,但是选openlayers时,没有跳转到预览页面,而是弹出了下载WMS. 解决方案: 用KML方式预览时 ...

  8. 扛把子组final week 1/1 Scrum立会报告+燃尽图 01

    此作业的要求参见http://edu.cnblogs.com/campus/nenu/2019fall/homework/10065 一.小组情况 队名:扛把子 组长:孙晓宇 组员:宋晓丽 梁梦瑶 韩 ...

  9. python接口自动化测试——简单的文件上传代码实现,人人网登陆后上传图片举例

    import requests '''人人网登陆,图片上传 '''def loginData(): '''登录请求参数''' data = { 'email': '13484545195', 'ico ...

  10. Linux 系统调用 —— fork 内核源码剖析

    系统调用流程简述 fork() 函数是系统调用对应的 API,这个系统调用会触发一个int 0x80 的中断: 当用户态进程调用 fork() 时,先将 eax(寄存器) 的值置为 2(即 __NR_ ...