Записные книжки становятся стандартом для прототипирования и анализа данных ученых. Многие облачные провайдеры предлагают услуги машинного обучения и глубокого обучения в виде ноутбуков Jupyter. Другие игроки теперь начали предлагать облачные среды Jupyter с аналогичной структурой хранения, вычислений и ценообразования. Одним из основных отличий могут быть многоязыковая поддержка и параметры управления версиями, которые позволяют ученым обмениваться информацией о своей работе в одном месте.
Растущая популярность Jupyter ноутбуков
Среды Jupyter для ноутбуков в настоящее время становятся первым пунктом назначения для реализации вашего проекта по науке о данных. Среда ноутбука позволяет нам отслеживать ошибки и поддерживать чистый код. Одна из лучших функций, хотя и простая, заключается в том, что ноутбук перестанет компилировать ваш код, если обнаружит ошибку. Обычные IDE не останавливают компиляцию, даже если обнаружена ошибка, и, в зависимости от объема кода, это может быть пустой тратой времени, чтобы вернуться назад и вручную определить, где находится ошибка.
Многие облачные провайдеры и другие сторонние сервисы видят ценность среды ноутбуков Jupyter, поэтому многие компании теперь предлагают облачные ноутбуки, которые размещены в облаке и доступны миллионам людей. Многие исследователи данных не имеют необходимого оборудования для проведения крупномасштабного глубокого обучения, но в облачных средах в основном заботятся о конфигурации оборудования и бэкэнда, что оставляет пользователю только настраивать желаемые параметры.
1.) MatrixDS
MatrixDS — это облачная платформа, которая обеспечивает взаимодействие с социальными сетями в сочетании с GitHub и предназначена для обмена вашими проектами в области данных с коллегами. Они поддерживают некоторые из наиболее часто используемых технологий, таких как R, Python, Shiny, MongoDB, NGINX, Julia, MySQL и PostgreSQL.
Они предлагают как бесплатные, так и платные уровни. Платный уровень аналогичен тому, что предлагается на основных облачных платформах, при этом вы можете платить по использованию или по времени. Платформа обеспечивает поддержку GPU по мере необходимости, так что задачи, требующие большого объема памяти и вычислительных ресурсов, могут быть выполнены, когда локальной машины недостаточно.
Чтобы начать работу со средой ноутбука Jupyter в MatrixDS:
- Зарегистрируйтесь в сервисе для создания аккаунта. По умолчанию это должен быть бесплатный аккаунт.
- Затем вам будет предложено перейти на страницу проектов. Здесь нажмите зеленую кнопку в правом верхнем углу, чтобы начать новый проект. Дайте ему имя и описание и нажмите CREATE.
- Затем вам будет предложено установить некоторые конфигурации, такие как объем оперативной памяти и ядер. Поскольку это бесплатная учетная запись, вы будете ограничены 4 ГБ ОЗУ и 1-ядерным процессором.
- После этого вы попадете на страницу, где ваш инструмент (экземпляр Jupyter Notebook) будет настраиваться и готовиться.
- Как только вы увидите, что процесс установки завершен, нажмите START, а после того, как он заработает, нажмите OPEN, и вы попадете на новую вкладку с вашим экземпляром Jupyter Notebook.
2.) Google Collaboratory
- Google Colab — это бесплатная среда для ноутбуков Jupyter, предоставляемая Google специально для задач глубокого обучения. Он работает полностью в облаке и позволяет вам делиться своей работой, напрямую сохранять ее на своем Google Диске и предлагает ресурсы для вычислительной мощности.
- Одним из основных преимуществ Colab является то, что он предлагает бесплатную поддержку графических процессоров (с ограничениями, конечно, смотрите их FAQ). Посмотрите эту замечательную статью Энн Боммер о том, как начать работу с Google Colab .
- Он не только поддерживает GPU, но и имеет доступ к TPU на Colab .
Простым примером использования Google colab для вашей среды Jupyter, помимо обычного ноутбука Jupyter, является возможность использования функций cv2.imshow () и cv.imshow () из пакета opencv-python . Эти две функции несовместимы с автономным ноутбуком Jupyter. Googel Colab предлагает специальное решение для этой проблемы:
Джава
xxxxxxxxxx
1
from google.colab.patches import cv2_imshow
2
!curl - o logo.png https://colab.research.google.com/img/colab_favicon_256px.png
6
import cv2
8
img = cv2.imread('logo.png', cv2.IMREAD_UNCHANGED)
10
11
cv2_imshow(img)
Запустите приведенный выше код в ячейке кода, чтобы убедиться, что он действительно работает, и начните выполнение задач обработки изображений и видео.
3.) Платформа AI Jupyter для ноутбуков от Google Cloud
Google Cloud предлагает интегрированный управляемый экземпляр JupyterLab, который поставляется с предустановленными новейшими библиотеками машинного обучения и глубокого обучения, такими как TensorFlow, PyTorch, scikit-learn, pandas, NumPy, SciPy и Matplotlib. Экземпляр ноутбука интегрирован с BigQuery, Cloud Dataproc и Cloud Dataflow, чтобы обеспечить бесперебойную работу от приема и предварительной обработки до исследования, обучения и развертывания.
Интегрированные сервисы упрощают масштабирование пользователей по требованию, добавляя вычислительные ресурсы и объем хранилища всего несколькими щелчками мыши.
Чтобы запустить свой экземпляр JupyterLab на GCP, выполните следующие действия:
Запустите следующий код с Keras, чтобы увидеть, насколько хорошо облачная среда и поддержка GPU могут ускорить ваш анализ.
Вот ссылка на набор данных: Файл CSV набора данных (pima-indians-diabetes.csv) . Набор данных должен находиться в том же рабочем каталоге, что и ваш файл python, чтобы сделать его простым.
Сохраните его с именем файла: pima-diabetes.csv
Джава
1
from numpy import loadtxt
2
from keras.models import Sequential
4
from keras.layers import Dense
6
# load the dataset
10
dataset = loadtxt('pima-diabetes.csv', delimiter=',')
12
13
X = dataset[:,0:8]
14
y = dataset[:,8]
16
# define the keras model
20
model = Sequential()
22
23
model.add(Dense(12, input_dim=8, activation='relu'))
24
25
model.add(Dense(8, activation='relu'))
26
model.add(Dense(1, activation='sigmoid')) #Sigmoid is chosen because it is a binary classification problem
28
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']) # compile the keras model
32
model.fit(X, y, epochs=150, batch_size=10) # fit the keras model on the dataset
36
_, accuracy = model.evaluate(X, y) # evaluate the keras model
40
print('Accuracy: %.2f' % (accuracy*100)
4.) Облако Сатурна
Saturn Cloud - это новый облачный сервис, предлагающий в один клик ноутбуки Jupyter, размещенные в облаке, которые можно масштабировать в соответствии с требованиями к вычислительным ресурсам и хранилищу с помощью AWS в бэкэнде. Вот учебник, чтобы начать.
Предполагается, что Saturn Cloud отвечает требованиям DevOps в науке о данных и делает ваш анализ более воспроизводимым, предлагая возможности управления версиями и совместной работы.
Saturn Cloud предлагает инфраструктуру параллельных вычислений с Dask (написанным на Python) вместо других инструментов для работы с большими данными, таких как Spark.
Чтобы начать работу с облаком Сатурн:
- Перейдите к их логину и создайте аккаунт: Saturn Cloud Login . Базовый план бесплатен, чтобы привыкнуть к окружающей среде
- Чтобы создать свой экземпляр блокнота:
- Укажите имя для ноутбука
- Объем хранения
- Используемый графический процессор или процессор
- (Необязательно) среда Python (например: - Pip, Conda)
- (Необязательно) Автоотключение
- Require.txt для установки библиотек для вашего проекта.
- После того, как вышеупомянутые параметры были указаны, вы можете нажать CREATE, чтобы запустить сервер и ваш экземпляр ноутбука.
- Saturn Cloud также предлагает разместить ваш ноутбук, делая его доступным для совместного использования. Это пример того, как Saturn Cloud позаботилась о DevOps для проекта по науке данных, так что пользователю не нужно беспокоиться.
Запустите приведенный ниже код, чтобы убедиться, что ваш экземпляр работает так, как задумано.
Джава
xxxxxxxxxx
1
import pandas as pd
2
import matplotlib.pyplot as plt
3
%matplotlib inline
4
5
url = "https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data"
6
names = ['sepal-length', 'sepal-width', 'petal-length', 'petal-width', 'class']
7
data = pd.read_csv(url, names=names)
8
9
pd.plotting.scatter_matrix(dataset)
10
plt.show()
Что такое лучшая среда для ноутбуков Jupyter?
Мы оценили среды Jupyter Notebook от лучших до худших на основе ряда различных факторов, таких как анализ, возможности визуализации, хранение данных и функциональность базы данных. Каждая платформа отличается с ее лучшими и худшими вариантами использования и ее собственной уникальной торговой точкой.
Все вышеперечисленные услуги предназначены для удовлетворения ваших потребностей в глубоком обучении и обеспечивают воспроизводимую среду, позволяющую делиться вашей работой и проводить анализ с минимально возможной внутренней работой. Поскольку глубокое обучение достигает новых рубежей, алгоритмы по-прежнему требуют огромных объемов данных, и у большинства исследователей данных нет возможностей на их локальном компьютере, чтобы это произошло. Это когда вышеупомянутые альтернативы позволяют нам проводить наш анализ без проблем. Следующее - наша лучшая попытка с объективной точки зрения, для какой платформы лучше, а какая хуже:
MatrixDS:
MatrixDS уникален тем, что предоставляет пользователям различные инструменты для разных задач. Для анализа предусмотрены Python, R, Julia, Tensorboard и другие, а для визуализации - Superset, Shiny, Flask, Bokeh. Для хранения данных он работает с PostgreSQL.
Облако Сатурна:
Облако Saturn обеспечивает поддержку параллельных вычислений и делает процесс регистрации и создания ноутбука Jupyter проще по сравнению с другими поставщиками в этом списке. Для пользователей, которые просто хотят начать с минимальными излишествами и нуждаются только в сервере, который может обрабатывать большие данные, это, вероятно, лучший выбор.
Ноутбуки платформы AI от Google:
Эта среда для ноутбуков обеспечивает поддержку как для Python, так и для пользователей R. Наука о данных может иметь предпочтительный язык, и поддержка для обоих основных поставщиков облачных услуг является привлекательным предложением. Он также предоставляет доступ к другим сервисам GCP, таким как BigQuery, делая запросы данных более эффективными и мощными.
Google Collaboratory:
Несмотря на то, что он достаточно мощный и единственный, который предлагает поддержку TPU, он не обладает широкими возможностями для относительно всеобъемлющего рабочего процесса по обработке данных, как другие. Он имеет только поддержку Python и функционирует аналогично стандартному ноутбуку Jupyter с другим пользовательским интерфейсом. Он предлагает поделиться вашей записной книжкой на диске Google, а также получить доступ к данным на вашем диске Google.