Google Colab或Colagoratory是一个免费的在线编码环境,为想要开发机器学习应用程序的任何人提供平台。它快速,易于使用,最重要的是,它使您可以访问Google的硬件,包括GPU和TPU,绝对免费! 。
什么是Google Colab?
Google Colab基于Jupyter Notebook,这是一种流行的开源Web应用程序,可让您创建和共享包含实时代码,方程式,可视化和叙事文本的文档。 COLAB扩展了Jupyter笔记本电脑系统,使您能够在浏览器中编写和执行Python代码(在Lucky Instances R中),需要零配置,免费访问GPU,易于共享等等。
> >Google Colab入门
从Google Colab开始,就像登录您的Google帐户一样简单,然后访问colab.research.google.com
。
一旦您在那里,就可以通过单击File -> New notebook
创建新笔记本。您的新笔记本将打开一个新标签。
界面分为两个主要区域:
- 可以共享,保存,连接到github等选项的
main toolbar
- 您可以在其中写代码或文本的
cell space
。
每个笔记本都是由单元格组成的。有两种类型的单元格:
-
Code cells
:在哪里编写和执行代码。 -
Text cells
:在哪里写文本或HTML代码以进行解释,就像在此博客文章中一样。
您可以通过单击笔记本左上角的+ 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 |
---|---|
COLAB形式
COLAB表格提供了一种简单的方法,可以在Google Colab笔记本中参数化代码。从代码单元格中,您可以选择Insert → Add form field
添加表单字段。当您以形式更改值时,代码中的相应值将更改。表单支持许多类型的字段,包括字符串字段,原始字段,日期字段,数字字段,布尔字段和降价。您还可以通过选择View → Show/hide code
或在所选代码单元格上方使用工具栏来隐藏与表单关联的代码
- 字符串字段:您可以使用字符串字段允许用户输入文本。例如:
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"}
Colab Magics
COLAB提供了一组命令,为Google Colab笔记本提供了迷你命令语言。它们被称为“魔术”,这是ipython的特征,这是Google Colab使用的内核。这些命令与Python的语法是正交的,用户可以通过新命令扩展。魔法有两种:魔法,是一个由一个%
字符备份的命令,其论点仅扩展到当前行的末尾,而细胞魔术师则使用2%的字符作为标记(%%
),并且它们接收为论证当前线被声明的线和整个细胞的身体。
您可以使用%lsmagic
命令列出所有可用的魔术命令。此命令将显示所有可用的线路和单元格的列表。您还可以使用%magic
命令访问魔术命令的帮助模块。您还可以通过将?
附加到命令的末尾来提出特定命令的帮助模块,例如%timeit?
您可以在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')
您还可以在代码中使用线魔法来执行一些操作,例如更改目录
运行系统命令
您可以在命令之前使用!
字符在Google Colab中运行系统命令。
由于该笔记本的基础主机是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是一种很棒的资源,但请记住,它并不是要长时间连续使用。一段时间后,会议将断开连接。您可以检查如何减少发生这种情况的可能性