Google Colab - Краткое руководство

Google довольно агрессивно занимается исследованиями ИИ. На протяжении многих лет Google разработал структуру искусственного интеллекта под названиемTensorFlow и инструмент разработки под названием Colaboratory. Сегодня TensorFlow имеет открытый исходный код, а с 2017 года Google сделал Colaboratory бесплатным для публичного использования. Колаборатория теперь известна как Google Colab или простоColab.

Еще одна привлекательная функция, которую Google предлагает разработчикам, - использование графического процессора. Colab поддерживает графический процессор, и это совершенно бесплатно. Причины, по которым его сделали общедоступным, могут заключаться в том, чтобы сделать его программное обеспечение стандартом для преподавателей машинного обучения и науки о данных. Он также может иметь долгосрочную перспективу создания клиентской базы для API Google Cloud, которые продаются на основе фактического использования.

Независимо от причин, внедрение Colab упростило обучение и разработку приложений машинного обучения.

Итак, давайте начнем с Colab.

Если вы использовали Jupyterранее вы бы быстро научились использовать Google Colab. Если быть точным, Colab - это бесплатная среда для ноутбуков Jupyter, полностью работающая в облаке. Самое главное, это не требует настройки, и записные книжки, которые вы создаете, могут одновременно редактироваться членами вашей команды - точно так же, как вы редактируете документы в Google Docs. Colab поддерживает множество популярных библиотек машинного обучения, которые можно легко загрузить в ваш блокнот.

Что предлагает вам Colab?

Как программист, вы можете выполнять следующие действия с помощью Google Colab.

  • Напишите и выполните код на Python

  • Задокументируйте свой код, поддерживающий математические уравнения

  • Создание / загрузка / обмен записными книжками

  • Импорт / сохранение записных книжек с / на Google Диск

  • Импорт / публикация записных книжек из GitHub

  • Импортируйте внешние наборы данных, например, из Kaggle

  • Интегрируйте PyTorch, TensorFlow, Keras, OpenCV

  • Бесплатный облачный сервис с бесплатным графическим процессором

В этой главе вы создадите и выполните свой первый простой блокнот. При необходимости следуйте инструкциям.

Note - Поскольку Colab неявно использует Google Drive для хранения ваших записных книжек, убедитесь, что вы вошли в свою учетную запись Google Drive, прежде чем продолжить.

Step 1 - Откройте в браузере следующий URL - https://colab.research.google.com Ваш браузер отобразит следующий экран (при условии, что вы вошли в свой Google Диск) -

Step 2 - Нажмите на NEW PYTHON 3 NOTEBOOKссылка внизу экрана. Откроется новый ноутбук, как показано на экране ниже.

Как вы могли заметить, интерфейс ноутбука очень похож на тот, что есть в Jupyter. Есть окно кода, в котором вы должны ввести свой код Python.

Установка имени ноутбука

По умолчанию записная книжка использует соглашение об именах UntitledXX.ipynb. Чтобы переименовать записную книжку, щелкните это имя и введите желаемое имя в поле редактирования, как показано здесь -

Назовем этот блокнот MyFirstColabNotebook. Так что введите это имя в поле редактирования и нажмите ENTER. Блокнот получит то имя, которое вы дали сейчас.

Ввод кода

Теперь вы введете тривиальный код Python в окно кода и выполните его.

Введите следующие два оператора Python в окно кода -

import time
print(time.ctime())

Выполнение кода

Чтобы выполнить код, щелкните стрелку в левой части окна кода.

Через некоторое время вы увидите результат под окном кода, как показано здесь -

Mon Jun 17 05:58:40 2019

Вы можете очистить вывод в любое время, щелкнув значок в левой части экрана вывода.

Добавление ячеек кода

Чтобы добавить дополнительный код в записную книжку, выберите следующее menu варианты -

Insert / Code Cell

Как вариант, просто наведите указатель мыши на нижний центр ячейки кода. КогдаCODE и TEXTпоявятся кнопки, щелкните КОД, чтобы добавить новую ячейку. Это показано на скриншоте ниже -

Новая ячейка кода будет добавлена ​​под текущей ячейкой. Добавьте следующие два оператора во вновь созданное окно кода -

time.sleep(5)
print (time.ctime())

Теперь, если вы запустите эту ячейку, вы увидите следующий вывод -

Mon Jun 17 04:50:27 2019

Конечно, разница во времени между двумя временными строками составляет не 5 секунд. Это очевидно, поскольку вам потребовалось некоторое время, чтобы вставить новый код. Colab позволяет запускать весь код внутри записной книжки без перерыва.

Запустить все

Чтобы запустить весь код в записной книжке без перерыва, выполните следующие параметры меню:

Runtime / Reset and run all…

Это даст вам результат, как показано ниже -

Обратите внимание, что разница во времени между двумя выходами теперь составляет ровно 5 секунд.

Вышеупомянутое действие также можно запустить, выполнив следующие два пункта меню:

Runtime / Restart runtime…

или же

Runtime / Restart all runtimes…

С последующим

Runtime / Run all

Изучите различные варианты меню под Runtime меню, чтобы ознакомиться с различными вариантами, доступными вам для работы с записной книжкой.

Изменение порядка ячеек

Если ваш блокнот содержит большое количество ячеек кода, вы можете столкнуться с ситуациями, когда вы захотите изменить порядок выполнения этих ячеек. Вы можете сделать это, выбрав ячейку, которую хотите переместить, и щелкнувUP CELL или же DOWN CELL кнопки, показанные на следующем снимке экрана -

Вы можете нажимать кнопки несколько раз, чтобы переместить ячейку более чем на одну позицию.

Удаление ячейки

Во время разработки проекта вы могли добавить в свой блокнот несколько теперь ненужных ячеек. Вы можете легко удалить такие ячейки из своего проекта одним щелчком мыши. Щелкните значок с вертикальными точками в правом верхнем углу ячейки кода.

Нажми на Delete cell вариант, и текущая ячейка будет удалена.

Теперь, когда вы узнали, как запустить простой блокнот, давайте рассмотрим другие возможности Colab.

Поскольку ячейка кода поддерживает полный синтаксис Python, вы можете использовать Python commentsв окне кода, чтобы описать ваш код. Однако часто для иллюстрации алгоритмов машинного обучения вам потребуется нечто большее, чем просто текстовые комментарии. ML широко использует математику, и для объяснения этих терминов и уравнений вашим читателям вам понадобится редактор, поддерживающий LaTex - язык математических представлений. Colab предоставляетText Cells для этого.

Текстовая ячейка, содержащая несколько математических уравнений, обычно используемых в машинном обучении, показана на снимке экрана ниже.

По мере продвижения в этой главе мы увидим код для генерации вышеуказанного вывода.

Текстовые ячейки форматируются с использованием markdown- простой язык разметки. Давайте теперь посмотрим, как добавить текстовые ячейки в записную книжку и добавить в нее текст, содержащий математические уравнения.

Примеры Markdown

Давайте рассмотрим несколько примеров синтаксиса языка разметки, чтобы продемонстрировать его возможности.

Введите следующий текст в текстовую ячейку.

This is **bold**.
This is *italic*.
This is ~strikethrough~.

Вывод вышеуказанных команд отображается в правой части ячейки, как показано здесь.

Математические уравнения

Добавить Text Cell в свой блокнот и введите следующий синтаксис уценки в текстовом окне -

$\sqrt{3x-1}+(1+x)^2$

Вы увидите немедленную визуализацию кода уценки на правой боковой панели текстовой ячейки. Это показано на скриншоте ниже -

Ударил Enter и код уценки исчезает из текстовой ячейки, и отображается только визуализированный результат.

Давайте попробуем другое более сложное уравнение, как показано здесь -

$e^x = \sum_{i = 0}^\infty \frac{1}{i!}x^i$

Отрендеренный результат показан здесь для вашего быстрого ознакомления.

Код для примеров уравнений

Вот код для примеров уравнений, показанных на предыдущем снимке экрана:

Constraints are
   - $3x_1 + 6x_2 + x_3 =< 28$
   - $7x_1 + 3x_2 + 2x_3 =< 37$
   - $4x_1 + 5x_2 + 2x_3 =< 19$
   - $x_1,x_2,x_3 >=0 $

The trial vector is calculated as follows:
- $u_i(t) = x_i(t) + \beta(\hat{x}(t) − x_i(t)) + \beta \sum_{k = 1}^{n_v}(x_{i1,k}(t) − x_{i2,k}(t))$
$f(x_1, x_2) = 20 + e - 20exp(-0.2 \sqrt {\frac {1}{n} (x_1^2 + x_2^2)}) - exp (\frac {1}{n}(cos(2\pi x_1) + cos(2\pi x_2))$

$x ∈ [-5, 5]$
>$A_{m,n} =
   \begin{pmatrix}
   a_{1,1} > a_{1,2} > \cdots > a_{1,n} \\
   a_{2,1} > a_{2,2} > \cdots > a_{2,n} \\
   \vdots > \vdots > \ddots > \vdots \\
   a_{m,1} > a_{m,2} > \cdots > a_{m,n}
   \end{pmatrix}$

Описание полного синтаксиса разметки выходит за рамки этого руководства. В следующей главе мы увидим, как сохранить вашу работу.

Colab позволяет сохранять вашу работу на Google Диске или даже прямо в репозиторий GitHub.

Сохранение на Google Диск

Colab позволяет сохранять вашу работу на Google Диск. Чтобы сохранить записную книжку, выберите следующие параметры меню -

File / Save a copy in Drive…

Вы увидите следующий экран -

Действие создаст копию вашего ноутбука и сохранит ее на свой диск. Позже вы можете переименовать копию по своему выбору.

Сохранение на GitHub

Вы также можете сохранить свою работу в репозиторий GitHub, выбрав следующие параметры меню:

File / Save a copy in GitHub...

Выбор меню показан на следующем снимке экрана для быстрого ознакомления -

Вам придется подождать, пока вы не увидите экран входа в GitHub.

Теперь введите свои учетные данные. Если у вас нет репозитория, создайте новый и сохраните свой проект, как показано на скриншоте ниже -

В следующей главе мы узнаем, как поделиться своей работой с другими.

Чтобы поделиться записной книжкой, которую вы создали, с другими соавторами, вы можете поделиться копией, которую вы сделали на своем Google Диске.

Чтобы опубликовать блокнот для широкой аудитории, вы можете поделиться им из своего репозитория GitHub.

Есть еще один способ поделиться своей работой - нажать на SHAREв правом верхнем углу записной книжки Colab. Это откроет окно общего доступа, как показано здесь -

Вы можете ввести адреса электронной почты людей, с которыми вы хотите поделиться текущим документом. Вы можете установить тип доступа, выбрав один из трех вариантов, показанных на экране выше.

Нажми на Get shareable linkвозможность получить URL-адрес записной книжки. Вы найдете варианты, для кого поделиться следующим:

  • Указанная группа людей

  • Коллеги в вашей организации

  • Все, у кого есть ссылка

  • Вся публика в сети

В настоящее время. вы знаете, как создать / выполнить / сохранить / поделиться записной книжкой. В ячейке кода мы до сих пор использовали Python. Ячейку кода также можно использовать для вызова системных команд. Это объясняется далее.

Jupyter включает ярлыки для многих общих системных операций. Ячейка Colab Code поддерживает эту функцию.

Простые команды

Введите следующий код в ячейку «Код», в которой используется системная команда echo.

message = 'A Great Tutorial on Colab by Tutorialspoint!'
greeting = !echo -e '$message\n$message'
greeting

Теперь, если вы запустите ячейку, вы увидите следующий вывод -

['A Great Tutorial on Colab by Tutorialspoint!', 'A Great Tutorial on Colab by Tutorialspoint!']

Получение удаленных данных

Давайте рассмотрим другой пример, который загружает набор данных с удаленного сервера. Введите следующую команду в ячейку кода -

!wget http://mlr.cs.umass.edu/ml/machine-learning-databases/adult/adult.data -P "/content/drive/My Drive/app"

Если вы запустите код, вы увидите следующий результат -

--2019-06-20 10:09:53-- http://mlr.cs.umass.edu/ml/machine-learning-databases/adult/adult.data
Resolving mlr.cs.umass.edu (mlr.cs.umass.edu)... 128.119.246.96
Connecting to mlr.cs.umass.edu (mlr.cs.umass.edu)|128.119.246.96|:80... connected. 
HTTP request sent, awaiting response... 200 OK 
Length: 3974305 (3.8M) [text/plain] 
Saving to: ‘/content/drive/My Drive/app/adult.data.1’

adult.data.1 100%[===================>] 3.79M 1.74MB/s in 2.2s

2019-06-20 10:09:56 (1.74 MB/s) - ‘/content/drive/My Drive/app/adult.data.1’ saved [3974305/3974305]

Как говорится в сообщении, adult.data.1файл теперь добавлен на ваш диск. Вы можете проверить это, проверив содержимое папки на вашем диске. В качестве альтернативы введите следующий код в новую ячейку кода -

import pandas as pd
data = pd.read_csv("/content/drive/My Drive/app/adult.data.1")
data.head(5)

Запустите код сейчас, и вы увидите следующий результат -

Точно так же большинство системных команд можно вызвать в ячейке кода, добавив к команде восклицательный знак (!). Давайте рассмотрим другой пример, прежде чем выдавать полный список команд, которые вы можете вызывать.

Клонирование репозитория Git

Вы можете клонировать весь репозиторий GitHub в Colab, используя gitкоманда. Например, чтобы клонировать учебник keras, введите следующую команду в ячейке кода -

!git clone https://github.com/wxs/keras-mnist-tutorial.git

После успешного выполнения команды вы увидите следующий вывод:

Cloning into 'keras-mnist-tutorial'...
remote: Enumerating objects: 26, done.
remote: Total 26 (delta 0), reused 0 (delta 0), pack-reused 26
Unpacking objects: 100% (26/26), done.

После клонирования репо найдите в нем проект Jupyter (например, MINST в keras.ipyab), щелкните правой кнопкой мыши имя файла и выберите Open With / Colaboratory пункт меню, чтобы открыть проект в Colab.

Системные псевдонимы

Чтобы получить список ярлыков для общих операций, выполните следующую команду -

!ls /bin

Вы увидите список в окне вывода, как показано ниже -

bash*             journalctl*       sync*
bunzip2*          kill*             systemctl*
bzcat*            kmod*             systemd@
bzcmp@            less*             systemd-ask-password*
bzdiff*           lessecho*         systemd-escape*
bzegrep@          lessfile@         systemd-hwdb*
bzexe*            lesskey*          systemd-inhibit*
bzfgrep@          lesspipe*         systemd-machine-id-setup*
bzgrep*           ln*               systemd-notify*
bzip2*            login*            systemd-sysusers*
bzip2recover*     loginctl*         systemd-tmpfiles*
bzless@           ls*               systemd-tty-ask-password-agent*
bzmore*           lsblk*            tar*
cat*              lsmod@            tempfile*
chgrp*            mkdir*            touch*
chmod*            mknod*            true*
chown*            mktemp*           udevadm*
cp*               more*             ulockmgr_server*
dash*             mount*            umount*
date*             mountpoint*       uname*
dd*               mv*               uncompress*
df*               networkctl*       vdir*
dir*              nisdomainname@    wdctl*
dmesg*            pidof@            which*
dnsdomainname@    ps*               ypdomainname@
domainname@       pwd*              zcat*
echo*             rbash@            zcmp*
egrep*            readlink*         zdiff*
false*            rm*               zegrep*
fgrep*            rmdir*            zfgrep*
findmnt*          run-parts*        zforce*
fusermount*       sed*              zgrep*
grep*             sh@               zless*
gunzip*           sh.distrib@       zmore*
gzexe*            sleep*            znew*
gzip*             stty*
hostname*         su*

Выполните любую из этих команд, как мы делали для echo и wget. В следующей главе мы увидим, как выполнить ранее созданный код Python.

Предположим, у вас уже есть код Python, который хранится на вашем Google Диске. Теперь вам нужно загрузить этот код в Colab для дальнейших изменений. В этой главе мы увидим, как загрузить и запустить код, хранящийся на вашем Google Диске.

Монтажный привод

Tools / Command palette

Вы увидите список команд, как показано на этом снимке экрана -

Введите несколько букв, например «m», в поле поиска, чтобы найти команду монтирования. ВыбратьMount Driveкоманда из списка. Следующий код будет вставлен в вашу ячейку кода.

# Run this cell to mount your Google Drive.
from google.colab import drive
drive.mount('/content/drive')

Если вы запустите этот код, вам будет предложено ввести код аутентификации. Соответствующий экран выглядит, как показано ниже -

Откройте указанный выше URL-адрес в своем браузере. Вам будет предложено войти в свою учетную запись Google. Теперь вы увидите следующий экран -

Если вы предоставите разрешения, вы получите свой код следующим образом:

Вырежьте и вставьте этот код в ячейку кода и нажмите ENTER. Через некоторое время диск будет установлен, как показано на скриншоте ниже -

Теперь вы готовы использовать содержимое вашего диска в Colab.

Список содержимого диска

Вы можете просмотреть содержимое диска с помощью команды ls следующим образом:

!ls "/content/drive/My Drive/Colab Notebooks"

Эта команда выведет список содержимого вашей папки Colab Notebooks. Пример вывода содержимого моего диска показан здесь -

Greeting.ipynb hello.py LogisticRegressionCensusData.ipynb LogisticRegressionDigitalOcean.ipynb MyFirstColabNotebook.ipynb SamplePlot.ipynb

Запуск кода Python

Теперь предположим, что вы хотите запустить файл Python с именем hello.py, хранящийся на вашем Google Диске. Введите следующую команду в ячейку кода -

!python3 "/content/drive/My Drive/Colab Notebooks/hello.py"

Содержимое hello.py приведено здесь для справки -

print("Welcome to TutorialsPoint!")

Теперь вы увидите следующий результат -

Welcome to TutorialsPoint!

Помимо вывода текста, Colab также поддерживает графический вывод. Мы увидим это в следующей главе.

Colab также поддерживает расширенные возможности вывода, такие как диаграммы. Введите следующий код в ячейку «Код».

import numpy as np
from matplotlib import pyplot as plt

y = np.random.randn(100)
x = [x for x in range(len(y))]

plt.plot(x, y, '-')
plt.fill_between(x, y, 200, where = (y > 195), facecolor='g', alpha=0.6)

plt.title("Sample Plot")
plt.show()

Теперь, если вы запустите код, вы увидите следующий вывод -

Обратите внимание, что графический вывод отображается в разделе вывода ячейки кода. Точно так же вы сможете создавать и отображать несколько типов диаграмм во всем программном коде.

Теперь, когда вы познакомились с основами Colab, давайте перейдем к функциям Colab, которые упрощают разработку кода Python.

Современные разработчики в значительной степени полагаются на контекстно-зависимую помощь в синтаксисах языка и библиотеки. Вот почему IDE широко используются. Редактор записной книжки Colab предоставляет эту возможность.

В этой главе давайте посмотрим, как запросить контекстно-зависимую помощь при написании кода Python в Colab. При необходимости следуйте инструкциям.

Список функций

Step 1 - Откройте новую записную книжку и введите следующий код в ячейку «Код» -

import torch

Step 2- Запустите код, щелкнув значок «Выполнить» на левой панели ячейки «Код». Добавьте еще одну ячейку кода и введите следующий код -

Tensor = torch.

На этом этапе предположим, что вы забыли, какие различные функции доступны в torchмодуль. Вы можете запросить контекстную справку по именам функций, нажавTABключ. Обратите внимание на наличиеDOT после torchключевое слово. Без этой точки вы не увидите контекстную справку. Ваш экран будет выглядеть так, как показано на скриншоте здесь -

Теперь выберите нужную функцию из списка и продолжите кодирование.

Документация по функциям

Colab предоставит вам документацию по любому function или же class в качестве контекстно-зависимой помощи.

Введите следующий код в окно кода -

Tensor = torch.cos(

Теперь нажмите TAB и вы увидите документацию по cosво всплывающем окне, как показано на скриншоте здесь. Обратите внимание, что вам нужно ввестиopen parenthesis перед нажатием TAB.

В следующей главе мы увидим Magics в Colab, что позволяет нам делать более мощные вещи, чем то, что мы делали с системными псевдонимами.

Magics - это набор системных команд, которые обеспечивают небольшой расширенный командный язык.

Магия бывает двух типов -

  • Линия магии

  • Клеточная магия

Строка магии в названии указывает, что она состоит из одной строки команды, в то время как магия ячейки покрывает все тело ячейки кода.

В случае линейной магии к команде добавляется один символ%, а в случае с клеточной магией - двумя символами% (%%).

Давайте рассмотрим некоторые примеры того и другого, чтобы проиллюстрировать это.

Line Magics

Введите следующий код в ячейку кода -

%ldir

Вы увидите содержимое вашего локального каталога, примерно так -

drwxr-xr-x 3 root 4096 Jun 20 10:05 drive/
drwxr-xr-x 1 root 4096 May 31 16:17 sample_data/

Попробуйте следующую команду -

%history

Здесь представлена ​​полная история команд, которые вы выполняли ранее.

Cell Magics

Введите следующий код в ячейку кода -

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

Теперь, если вы запустите код, и вы увидите прокручивающееся приветственное сообщение на экране, как показано здесь -

Следующий код добавит SVG в ваш документ.

%%html
<svg xmlns="https://www.w3.org/2000/svg" viewBox="0 0 600 400" width="400" height="400">
   <rect x="10" y="00" width="300" height="100" rx="0" style="fill:orange; stroke:black; fill-opacity:1.0" />
   <rect x="10" y="100" width="300" height="100" rx="0" style="fill:white; stroke:black; fill-opacity:1.0;" />
   <rect x="10" y="200" width="300" height="100" rx="0" style="fill:green; stroke:black; fill-opacity:1.0;" />
</svg>

Если вы запустите код, вы увидите следующий результат -

Список магии

Чтобы получить полный список поддерживаемых магий, выполните следующую команду -

%lsmagic

Вы увидите следующий вывод -

Available line magics:
%alias %alias_magic %autocall %automagic %autosave %bookmark %cat %cd %clear
%colors %config %connect_info %cp %debug %dhist %dirs %doctest_mode %ed %edit
%env %gui %hist %history %killbgscripts %ldir %less %lf %lk %ll %load %load_ext
%loadpy %logoff %logon %logstart %logstate %logstop %ls %lsmagic %lx %macro
%magic %man %matplotlib %mkdir %more %mv %notebook %page %pastebin %pdb %pdef
%pdoc %pfile %pinfo %pinfo2 %pip %popd %pprint %precision %profile %prun
%psearch %psource %pushd %pwd %pycat %pylab %qtconsole %quickref %recall
%rehashx %reload_ext %rep %rerun %reset %reset_selective %rm %rmdir %run %save
%sc %set_env %shell %store %sx %system %tb %tensorflow_version %time %timeit
%unalias %unload_ext %who %who_ls %whos %xdel %xmode

Available cell magics:
%%! %%HTML %%SVG %%bash %%bigquery %%capture %%debug %%file %%html %%javascript
%%js %%latex %%perl %%prun %%pypy %%python %%python2 %%python3 %%ruby %%script
%%sh %%shell %%svg %%sx %%system %%time %%timeit %%writefile

Automagic is ON, % prefix IS NOT needed for line magics.

Затем вы познакомитесь с еще одной мощной функцией Colab для установки переменных программы во время выполнения.

Colab предоставляет очень полезную утилиту под названием Forms, которая позволяет принимать входные данные от пользователя во время выполнения. Давайте теперь перейдем к рассмотрению того, как добавлять формы в записную книжку.

Добавление формы

На предыдущем уроке вы использовали следующий код для создания временной задержки:

import time
print(time.ctime())
time.sleep(5)
print (time.ctime())

Предположим, вы хотите установить временную задержку, установленную пользователем, вместо фиксированной задержки в 5 секунд. Для этого вы можете добавить форму в ячейку кода, чтобы принять время сна.

Откройте новую записную книжку. Нажми наOptions(пунктирное) меню. Появится всплывающее меню, как показано на скриншоте ниже -

Теперь выберите Add a formвариант. Он добавит форму в вашу ячейку кода с заголовком по умолчанию, как показано на скриншоте здесь -

Чтобы изменить заголовок формы, нажмите на Settingsкнопку (значок карандаша справа). Появится экран настроек, как показано здесь:

Измените заголовок формы на “Form”и сохраните форму. Вы можете использовать любое другое имя по вашему выбору. Обратите внимание, что он добавляет@title в ячейку кода.

Вы можете изучить другие варианты на приведенном выше экране позже. В следующем разделе мы узнаем, как добавить поля ввода в форму.

Добавление полей формы

Чтобы добавить поле формы, щелкните значок Options меню в ячейке Код щелкните на Formдля отображения подменю. Экран будет выглядеть, как показано ниже -

Выбрать Add a form fieldпункт меню. Появится диалоговое окно, как показано здесь -

Оставь Form field type к input. Изменить Variable name к sleeptime и установите Variable type к integer. Сохраните изменения, нажав кнопкуSave кнопка.

Теперь ваш экран будет выглядеть следующим образом с sleeptime переменная добавлена ​​в код.

Затем давайте посмотрим, как протестировать форму, добавив код, который использует sleeptime переменная.

Форма тестирования

Добавьте новую ячейку кода под ячейкой формы. Используйте код, приведенный ниже -

import time
print(time.ctime())
time.sleep(sleeptime)
print (time.ctime())

Вы использовали этот код на предыдущем уроке. Он печатает текущее время, ждет определенное время и печатает новую отметку времени. Время, в течение которого программа ожидает, устанавливается в переменной с именемsleeptime.

Теперь вернитесь к Form Ячейка и введите значение 2 для sleeptime. Выберите следующее меню -

Runtime / Run all

Это запускает весь ноутбук. Вы можете увидеть экран вывода, как показано ниже.

Обратите внимание, что он взял ваше входное значение 2 для

время сна

. Попробуйте изменить это на другое значение иRun all чтобы увидеть его эффект.

Ввод текста

Чтобы принять ввод текста в форме, введите следующий код в новую ячейку кода.

name = 'Tutorialspoint' #@param {type:"string"}
print(name)

Теперь, если вы запустите ячейку кода, любое имя, которое вы задали в форме, будет напечатано на экране. По умолчанию на экране появится следующий вывод.

Tutorialspoint

Обратите внимание, что вы можете использовать параметры меню, как показано для целочисленного ввода, чтобы создать Text поле ввода.

Раскрывающийся список

Чтобы добавить раскрывающийся список в вашу форму, используйте следующий код -

color = 'green' #@param ["red", "green", "blue"]
print(color)

Это создает раскрывающийся список с тремя значениями - красным, зеленым и синим. По умолчанию выбран зеленый цвет.

Выпадающий список показан на скриншоте ниже -

Ввод даты

Colab Form позволяет принимать даты в коде с проверками. Используйте следующий код для ввода даты в свой код.

#@title Date fields
date_input = '2019-06-03' #@param {type:"date"}
print(date_input)

Экран формы выглядит следующим образом.

Попробуйте ввести неправильное значение даты и понаблюдайте за проверками.

Итак, вы узнали, как использовать Colab для создания и выполнения записных книжек Jupyter с вашим кодом Python. В следующей главе мы увидим, как установить популярные библиотеки ML в записную книжку, чтобы вы могли использовать их в своем коде Python.

Colab поддерживает большинство доступных на рынке библиотек машинного обучения. В этой главе давайте кратко рассмотрим, как установить эти библиотеки в записную книжку Colab.

Чтобы установить библиотеку, вы можете использовать любой из этих вариантов -

!pip install

или же

!apt-get install

Керас

Keras, написанный на Python, работает поверх TensorFlow, CNTK или Theano. Это позволяет легко и быстро создавать прототипы приложений нейронных сетей. Он поддерживает как сверточные сети (CNN), так и рекуррентные сети, а также их комбинации. Он полностью поддерживает графический процессор.

Чтобы установить Keras, используйте следующую команду -

!pip install -q keras

PyTorch

PyTorch идеально подходит для разработки приложений глубокого обучения. Это оптимизированная тензорная библиотека с поддержкой графического процессора. Чтобы установить PyTorch, используйте следующую команду -

!pip3 install torch torchvision

MxNet

Apache MxNet - еще одна гибкая и эффективная библиотека для глубокого обучения. Чтобы установить MxNet, выполните следующие команды:

!apt install libnvrtc8.0
!pip install mxnet-cu80

OpenCV

OpenCV - это библиотека компьютерного зрения с открытым исходным кодом для разработки приложений машинного обучения. Он имеет более 2500 оптимизированных алгоритмов, которые поддерживают несколько приложений, таких как распознавание лиц, идентификация объектов, отслеживание движущихся объектов, сшивание изображений и т. Д. Эту библиотеку используют такие гиганты, как Google, Yahoo, Microsoft, Intel, IBM, Sony, Honda, Toyota. Это очень хорошо подходит для разработки приложений машинного зрения в реальном времени.

Чтобы установить OpenCV, используйте следующую команду -

!apt-get -qq install -y libsm6 libxext6 && pip install -q -U opencv-python

XGBoost

XGBoost - это распределенная библиотека повышения градиента, которая работает в основных распределенных средах, таких как Hadoop. Это высокоэффективный, гибкий и портативный. Он реализует алгоритмы машинного обучения в рамках структуры Gradient Boosting.

Чтобы установить XGBoost, используйте следующую команду -

!pip install -q xgboost==0.4a30

GraphViz

Graphviz - это программное обеспечение с открытым исходным кодом для визуализации графиков. Он используется для визуализации в сетях, биоинформатике, проектировании баз данных и в этом отношении во многих областях, где требуется визуальный интерфейс данных.

Чтобы установить GraphViz, используйте следующую команду -

!apt-get -qq install -y graphviz && pip install -q pydot

К этому времени вы научились создавать записные книжки Jupyter, содержащие популярные библиотеки машинного обучения. Теперь вы готовы к разработке моделей машинного обучения. Это требует высокой вычислительной мощности. Colab предоставляет бесплатный графический процессор для ваших ноутбуков.

В следующей главе мы узнаем, как включить графический процессор для вашего ноутбука.

Google предоставляет бесплатный графический процессор для ваших ноутбуков Colab.

Включение GPU

Чтобы включить графический процессор в своем ноутбуке, выберите следующие параметры меню -

Runtime / Change runtime type

В качестве вывода вы увидите следующий экран -

Выбрать GPUи ваш ноутбук будет использовать во время обработки бесплатный графический процессор, предоставляемый в облаке. Чтобы почувствовать обработку GPU, попробуйте запустить пример приложения изMNIST учебник, который вы клонировали ранее.

!python3 "/content/drive/My Drive/app/mnist_cnn.py"

Попробуйте запустить тот же файл Python без включенного графического процессора. Заметили разницу в скорости исполнения?

Тестирование на GPU

Вы можете легко проверить, включен ли графический процессор, выполнив следующий код -

import tensorflow as tf
tf.test.gpu_device_name()

Если графический процессор включен, он выдаст следующий результат -

'/device:GPU:0'

Список устройств

Если вам интересно узнать, какие устройства использовались во время выполнения вашего ноутбука в облаке, попробуйте следующий код -

from tensorflow.python.client import device_lib
device_lib.list_local_devices()

Вы увидите следующий результат -

[name: "/device:CPU:0"
   device_type: "CPU"
   memory_limit: 268435456
   locality { }
   incarnation: 1734904979049303143, name: "/device:XLA_CPU:0"
   device_type: "XLA_CPU" memory_limit: 17179869184
   locality { } 
   incarnation: 16069148927281628039
   physical_device_desc: "device: XLA_CPU device", name: "/device:XLA_GPU:0"
   device_type: "XLA_GPU"
   memory_limit: 17179869184
   locality { }
   incarnation: 16623465188569787091
   physical_device_desc: "device: XLA_GPU device", name: "/device:GPU:0"
   device_type: "GPU"
   memory_limit: 14062547764
   locality {
      bus_id: 1
      links { } 
   }
   incarnation: 6674128802944374158
physical_device_desc: "device: 0, name: Tesla T4, pci bus id: 0000:00:04.0, compute capability: 7.5"]

Проверка RAM

Чтобы увидеть ресурсы памяти, доступные для вашего процесса, введите следующую команду -

!cat /proc/meminfo

Вы увидите следующий вывод -

MemTotal: 13335276 kB
MemFree: 7322964 kB
MemAvailable: 10519168 kB
Buffers: 95732 kB
Cached: 2787632 kB
SwapCached: 0 kB
Active: 2433984 kB
Inactive: 3060124 kB
Active(anon): 2101704 kB
Inactive(anon): 22880 kB
Active(file): 332280 kB
Inactive(file): 3037244 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 412 kB
Writeback: 0 kB
AnonPages: 2610780 kB
Mapped: 838200 kB
Shmem: 23436 kB
Slab: 183240 kB
SReclaimable: 135324 kB
SUnreclaim: 47916
kBKernelStack: 4992 kB
PageTables: 13600 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 6667636 kB
Committed_AS: 4801380 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 0 kB
VmallocChunk: 0 kB
AnonHugePages: 0 kB
ShmemHugePages: 0 kB
ShmemPmdMapped: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 303092 kB
DirectMap2M: 5988352 kB
DirectMap1G: 9437184 kB

Теперь вы готовы к разработке моделей машинного обучения на Python с помощью Google Colab.

Google Colab - мощная платформа для обучения и быстрой разработки моделей машинного обучения на Python. Он основан на ноутбуке Jupyter и поддерживает совместную разработку. Члены команды могут совместно использовать записные книжки и одновременно редактировать их даже удаленно. Блокноты также могут быть опубликованы на GitHub и доступны широкой публике. Colab поддерживает множество популярных библиотек машинного обучения, таких как PyTorch, TensorFlow, Keras и OpenCV. На сегодняшний день существует ограничение: он еще не поддерживает R или Scala. Также есть ограничения по сеансам и размеру. Учитывая преимущества, это небольшие жертвы, которые нужно принести.