Google Colab:增强您的笔记本体验
#编程 #python #jupyter

Google Colab或Colagoratory是一个免费的在线编码环境,为想要开发机器学习应用程序的任何人提供平台。它快速,易于使用,最重要的是,它使您可以访问Google的硬件,包括GPU和TPU,绝对免费! 。

什么是Google Colab?

Google Colab基于Jupyter Notebook,这是一种流行的开源Web应用程序,可让您创建和共享包含实时代码,方程式,可视化和叙事文本的文档。 COLAB扩展了Jupyter笔记本电脑系统,使您能够在浏览器中编写和执行Python代码(在Lucky Instances R中),需要零配置,免费访问GPU,易于共享等等。

>

>

R runtime

Google Colab入门

从Google Colab开始,就像登录您的Google帐户一样简单,然后访问colab.research.google.com

一旦您在那里,就可以通过单击File -> New notebook创建新笔记本。您的新笔记本将打开一个新标签。

界面分为两个主要区域:

  • 可以共享,保存,连接到github等选项的main toolbar
  • 您可以在其中写代码或文本的cell space

每个笔记本都是由单元格组成的。有两种类型的单元格:

  • Code cells:在哪里编写和执行代码。
  • Text cells:在哪里写文本或HTML代码以进行解释,就像在此博客文章中一样。

您可以通过单击笔记本左上角的+ Code+ Text添加新单元格。

Code_text

如何使用Google Colab

让我们进入一个简单的示例,该示例演示了如何编写,运行代码和使用输出。

首先,添加一个新的代码单元格并编写以下python代码:

print("Hello, Google Colab!")

单击左侧的播放按钮,或按Shift+Enter运行单元格。输出将在单元格下方显示:

Hello, Google Colab!

这是一个简单的Python代码执行。现在,让我们看看如何使用Google Colab来运行更复杂的任务,例如训练机器学习模型。我们将使用scikit-learn库中流行的Iris dataset来训练逻辑回归模型。

# Importing necessary libraries
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression

# Load Iris dataset
iris = load_iris()
X = iris.data
y = iris.target

# Split the data for training and testing
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Define the model
model = LogisticRegression()

# Train the model
model.fit(X_train, y_train)

# Evaluate the model
score = model.score(X_test, y_test)

print(f'Model accuracy: {score*100:.2f}%')

此代码首先加载虹膜数据集,然后将其分成训练集和测试集。然后,定义和训练了逻辑回归模型,最后对模型的精度进行了评估和打印。

使用Colab的GPU

Google COLAB的重要优势之一是Google为您提供的计算提供的免费GPU,这对于诸如培训深度学习模型之类的任务非常有益。要使用GPU,您需要通过转到Runtime -> Change runtime type并从硬件加速器下拉菜单中选择GPU来更改笔记本设置。

完成此操作后,您可以通过运行以下代码来验证是否正在使用GPU:

import tensorflow as tf

# Check if GPU is available
device_name = tf.test.gpu_device_name()
if device_name != '/device:GPU:0':
  raise SystemError('GPU device not found')
print(f'Found GPU at: {device_name}')

如果正确配置了GPU,则输出将是:

Found GPU at: /device:GPU:0

在当前版本的Colab中,您可以在右上角看到GPU名称,该名称具有小型资源监视器

没有gpu 与gpu
Without GPU With GPU

COLAB形式

COLAB表格提供了一种简单的方法,可以在Google Colab笔记本中参数化代码。从代码单元格中,您可以选择Insert → Add form field添加表单字段。当您以形式更改值时,代码中的相应值将更改。表单支持许多类型的字段,包括字符串字段,原始字段,日期字段,数字字段,布尔字段和降价。您还可以通过选择View → Show/hide code或在所选代码单元格上方使用工具栏来隐藏与表单关联的代码

Form

  • 字符串字段:您可以使用字符串字段允许用户输入文本。例如:
text = 'value' #@param {type:"string"}
dropdown = '1st option' #@param ["1st option", "2nd option", "3rd option"]
text_and_dropdown = 'value' #@param ["1st option", "2nd option", "3rd option"] {allow-input: true} 
  • 数字字段:您可以使用数字字段允许用户输入数字。例如:
number_input = 10.0 #@param {type:"number"}
integer_input = 10 #@param {type:"integer"}
  • 滑块:您可以使用滑块允许用户从范围中选择一个值。例如:
number_slider = 0 #@param {type:"slider", min:-1, max:1, step:0.1}
integer_slider = 1 #@param {type:"slider", min:0, max:100, step:1}
  • 日期字段:您可以使用日期字段允许用户选择日期。例如:
date_input = '2018-03-22' #@param {type:"date"}
  • 布尔字段:您可以使用布尔字段来允许用户选择真实或错误的值。例如:
boolean_checkbox = True #@param {type:"boolean"}
boolean_dropdown = True #@param ["False", "True"] {type:"raw"}
  • RAW字段:您可以使用原始字段允许用户在无需类型检查的情况下输入任何值。例如:
raw_input = None #@param {type:"raw"}
raw_dropdown = raw_input #@param [1, "raw_input", "False", "'string'"] {type:"raw"}

Forms_result

Colab Magics

COLAB提供了一组命令,为Google Colab笔记本提供了迷你命令语言。它们被称为“魔术”,这是ipython的特征,这是Google Colab使用的内核。这些命令与Python的语法是正交的,用户可以通过新命令扩展。魔法有两种:魔法,是一个由一个%字符备份的命令,其论点仅扩展到当前行的末尾,而细胞魔术师则使用2%的字符作为标记(%%),并且它们接收为论证当前线被声明的线和整个细胞的身体。

您可以使用%lsmagic命令列出所有可用的魔术命令。此命令将显示所有可用的线路和单元格的列表。您还可以使用%magic命令访问魔术命令的帮助模块。您还可以通过将?附加到命令的末尾来提出特定命令的帮助模块,例如%timeit?

lsmagic

magic_help

您可以在Google Colab中创建自己的自定义魔术命令。魔术命令是Ipython的功能,Ipython是Google Colab使用的内核。 Ipython有一个名为“ Magics”的命令系统,该系统提供了一种与Python语法正交的迷你命令语言,并且用户可以通过新命令扩展。魔法有两种:魔法,是一个由一个%字符备份的命令,其论点仅扩展到当前行的末尾,而细胞魔术师则使用2%的字符作为标记(%%),并且它们接收为参数既是声明的当前线和细胞的整个身体

from IPython.core.magic import register_line_magic

@register_line_magic
def greet(line):
    name = line.strip()
    print(f"Hello, {name}!")

# Register the magic command
get_ipython().register_magic_function(greet, magic_kind='line')

Custom line magic demo

您还可以在代码中使用线魔法来执行一些操作,例如更改目录

changing directory

运行系统命令

您可以在命令之前使用!字符在Google Colab中运行系统命令。

OS type

由于该笔记本的基础主机是Linux,因此您可以运行所需的所有Linux命令。

例如,要运行ls命令,您将在代码单元中输入!ls并运行它。这将执行ls命令并在单元格中显示输出。您还可以使用此方法来运行更复杂的命令,甚至可以使用&&一起运行多个命令。例如,要更新软件包列表,然后安装软件包,您可以在代码单元中输入!apt-get update && apt-get install -y package-name并运行它。

这对于您想在某些视频上进行一些处理(也许是根据时间戳提取的一部分)的情况可能很有用,例如FFMPEG,可以在执行代码<之前运行FFMPEG命令。 /p>

结论

Google COLAB是一个强大的工具,对于想要潜入机器学习而不必担心设置环境或计算资源的任何人(您也可以使用它来快速测试事物,特别是如果您在测试Linux相关的事物时, )。它可以轻松进入用户界面进行编码和协作,并且免费访问Google的硬件是许多数据科学家和研究人员的首选。

因此,开始将Google Colab集成到您的工作流程中,以将其提升到一个新的水平

注意:虽然Google Colab是一种很棒的资源,但请记住,它并不是要长时间连续使用。一段时间后,会议将断开连接。您可以检查如何减少发生这种情况的可能性