最近在学习NLP,但是学习深度学习算法,需要有 GPU,也就是显卡。

而显卡,需要是 NVIDIA 的显卡,也就是我们俗称的 N 卡。

虽然人人都喊「 AMD yes,AMD 真香」,但在深度学习领域,目前来看只能对 A 卡说 No。

因为,主流的推理框架,都需要在 NVIDIA 推出的 CUDA 运算平台上进行,使用上这也是最方便的。

所以,如果你没有 N 卡,比如你用 Mac 本或者 A 卡电脑,那么你只能使用 CPU 版本的深度学习框架

深度学习使用 GPU 运算很快,用 CPU 巨慢无比。

如果只是进行算法的效果测试,那姑且可以用 CPU 试一试,不过很多算法就算测试,可能也需要跑上十几分钟。

如果要进行算法的训练,那必须用 GPU,用 CPU 跑训练会跑到怀疑人生,几个月不断电都未必训练好算法。

至于·=「Torch not complied with CUDA enabled」这个问题:

  • 如果你有 GPU ,那么就是你没有配置好开发环境。
  • 如果你没有 GPU,那么你就只能修改代码,使用 cpu 跑算法。
  • 修改代码为 cpu 版,这个对新手可能有点难度,不同深度学习框架修改方法也不同。

    好在有百度,直接搜索关键词「pytorch修改代码为cpu」,其他框架同理,教程非常多。

    自己没有 GPU,但是我就想用!可以!引出文本的重点,教你如何「白嫖 GPU」。

    以下为总结出Colaboratory的使用教程。

    1. Google Colaboratory是谷歌提供的基于linux系统的免费云平台并支持免费的 GPU,内部已经集成了深度学习所需要的库,比如Tensorflow(目前Version:2.2.0rc3)和Keras(目前Version: 2.3.1)等,一般情况下无需我们再做配置,直接上传自己代码就能用了。

    2. Colab 是Google的且服务器在国外

      如果不能使用Google,推荐使用Kaggle(国内也能访问)👉 免费的深度学习GPU环境Colab和Kaggle搭配使用
      如果可以上Google,那就继续往下看学习Colab用法!如何进入Colab

    推荐大家使用 Google云端硬盘上传文件然后加载到自己的Colab里。

    Colab的基本配置

    1. 登录 Google Drive,注册个Google账号-->Google搜索“Google 云端硬盘”-->个人 转至Google云端硬盘,然后你就可以看到以下界面啦:

    2. 在 Google Drive 上创建文件夹,我创建的是名字为 app 的文件夹

      s

    3. 创建新的 Colab 笔记(Notebook),通过 右键点击 > More > Colaboratory 步骤创建一个新的笔记

      ss

    20200501123641432

    大家可以新建属于自己的Colab和文件夹,新建的Colab的默认名称为Untitled,代码运行就在这里面操作,后面也以这个为例讲解。

    不过现在莫要着急嘛,咱先把自己的工程代码上传到个人的文件夹中,这里我的叫test(我上传到test里的文件夹叫yolo3-keras,后面的栗子会用到)。

    步骤为:双击test文件夹-->进去后右键-->上传文件/上传文件夹-->根据需要上传自己的代码文件或文件夹,上传时间长短视网络情况而定。完成这一步之后,我们就可以开始快乐的操作Colab啦~

    Colab如何操作?

    步骤二的基础上,我们双击自己建立的Colab,进去之后它长这样:

    img

    具体一些区域的功能已经在图上注释了,大家可以先了解下。首先是先入门hello world,如下所示,在代码框里输入print(“hello world!”),然后点击左边的运行按钮就可以

    img

    上方为入门Colab的使用,接下来是设置加速器为GPU加速

    使用GPU

    以下两种方式都可以:

    1. “修改”->“笔记本设置”->"硬件加速器"选择GPU
    2. “代码执行程序”->“更改运行时类型”->"硬件加速器"选择GPU

    image-20220311113541370

    img

    然后运行以下代码确认GPU是否正常运行

    import tensorflow as tf
    device_name = tf.test.gpu_device_name()
    if device_name != '/device:GPU:0':
      raise SystemError('GPU device not found')
    else: 
      print(device_name)
    

    运行正常可以看到如下结果:

    img

    否则看到如下结果:

    img

    或者使用命令:

    !nvidia-smi
    

    可以看到以下结果:

    img

    否则看到如下结果:

    img

    PS:如果你有其他会话正在运行,可能会看到这样的提示:
    img

    切换文件夹

    不能用Linux下常用的cd命令,要用如下命令:

    1.加载盘

    from google.colab import drive
    drive.mount('/content/drive/')
    

    fs

    2.切换到你要跑的目录下面

    # 指定当前的工作文件夹
    import os 
    # 此处为google drive中的文件路径,drive为之前指定的工作根目录,要加上
    os.chdir("/content/drive/My Drive/your_path")
    

    安装Pytorch以及torchvision

    Colab 一般情况下已经自带了pytorch环境了。若没有可以进行相应的安装:

    !pip install torch torchvision  # 在Colab中执行操作语句时,感叹号不能漏
    

    装载Google云盘文件

    image-20220311114930181

    装载完成之后的界面如下:

    img

    解决Colab长时间无操作就掉线的问题

    使用中会发现,当我们在训练模型的时候,如果长时间不操作Colab后他就会自动断线,这就很头疼了,我们也不能傻傻一直盯着它跑吧。莫慌,你可以通过以下简单的操作来解决:

    # How to prevent Google Colab from disconnecting ?

    首先在Colab界面打开控制台(快捷键Ctrl+Shift+I),然后复制以下代码(这段代码的功能是设置每隔60000ms也就是1min自动点击一下Colab的“连接”操作,这样就不至于长时间误操作而导致自动断开连接啦,当然这只是个例子,方法不唯一,大家也可以调整下自己的间隔时间):

    function ClickConnect(){
        console.log("Working");
        document.querySelector("colab-toolbar-button#connect").click()
    }
    setInterval(ClickConnect, 60000)
    

    把上面这段代码添加到下图所示的位置 ,然后敲一下回车键即可

    img

    来源:七加一i

    物联沃分享整理
    物联沃-IOTWORD物联网 » Colab使用教程

    发表评论