Colab神技能

Colab神技能
Page content

from zero to hero

🍺本篇文章大约需要2分钟来阅读,届时你或许将学到:

  • Colab高效技巧

0x00 命令执行

在某些情况下原生模块已无法满足我们的代码编写需求,而这种时候就需要安装部分第三方模块。当然colab本身提供通过前置 ! 来作为模块执行标识。

# 安装模块
!pip install [module_name]

# 列出目录
!ls -lah

# 查询可执行命令
!compgen -c

比如我们现在执行 !compgen -c 并执行,就可以看到本身所支持的全部命令

0x01 文件上传/下载

临时文件的上传与下载也变得非常容易

from google.colab import files

# 文件上传
files.upload()

# 文件下载
files.download('xx/xx.txt')

现在我们来尝试上传,首先运行代码,点击 Choose Files 选择你要上传的文件,然后你就能在左侧目录栏中看到啦

0x02 挂载GoogleDrive

我们或许会有把数据及代码同步到GoogleDrive的习惯,而Colab作为谷歌旗下产品,自然是能够很方便得与其交互。

from google.colab import drive

drive.mount('/content/drive')

整个过程只需要您一次认证并填入获得的 token 即可完成。

0x03 临时端口映射

某些时候我们希望将某个端口暴露在公网上,可运行如下命令然后我们将获得一个域名并指向本机的8080端口

from google.colab.output import eval_js

print(eval_js("google.colab.kernel.proxyPort(8080)"))

0x04 连接保持

有时候我们需要离开会儿屏幕,而Colab有闲时断连的机制。为了保持连接,我们可以在开发者工具的 console 一栏执行如下代码以模拟点击重连按钮。

function keep(){
    console.log(`try reconnect`)
    document.querySelector('colab-connect-button').shadowRoot.querySelectorAll('colab-toolbar-button')[1].click()
}
setInterval(keep,1000*60)

0x05 开启SSH

此种方式通过第三方库来实现,整个过程只需安装 cloudflared 并至将其路径填入 ~/.ssh/config 即可连接。

!pip install colab_ssh --upgrade

from colab_ssh import launch_ssh_cloudflared
launch_ssh_cloudflared(password="pwd")

0x06 魔术语法 %

colab支持在界面通过特定语法以完成一些例如模块安装、可视化、数据拷贝、历史执行、调试等,其中我们可以通过 %lsmagic 来获取所有的魔术方法。现在我们要在其中显示一段欢迎文字就可以通过 %%html ,就可以通过如下操作执行。

%%html
<marquee style='width: 50%; color: Green;'>Welcome to Colab!</marquee>