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

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

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

Просто небольшой контекст, я думаю, поможет здесь :)

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

В этом сообщении блога мы рассмотрим, как настроить среду глубокого обучения с использованием Anaconda, Python, Jupyter Lab, NumPy, Pandas и TensorFlow.

Загрузка Анаконды

Anaconda — это дистрибутив Python и R, который включает в себя некоторые из наиболее необходимых пакетов, таких как numpy, pandas, scikit-learn и т. д., для науки о данных. Установка Anaconda аналогична установке любого другого обычного программного обеспечения. Вот шаги:

Скачать установщик с официального сайта Anaconda.

Запустите загруженный файл.

Этапы установки говорят сами за себя. Продолжайте нажимать «Далее», пока не появится страница «Дополнительные параметры установки», и добавьте python в PATH.

Продолжайте нажимать «Далее», пока не появится кнопка «Готово», и завершите установку, и вы должны увидеть навигатор anaconda, что-то вроде этого (в зависимости от вашей версии).

#Примечание: Anaconda автоматически установит вместе с ним Python, pip и некоторые базовые библиотеки.

Создание среды Anaconda

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

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

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

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

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

  • Откройте приглашение Anaconda, щелкнув меню «Пуск» и введя приглашение anaconda.
  • Введите conda create — name myenv, заменив myenv именем вашей виртуальной среды.
  • Чтобы активировать виртуальную среду, введите conda enable myenv.
  • Чтобы деактивировать виртуальную среду, введите conda deactivate.

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

Jupiter Lab — ваш лучший друг в REPL!

После установки Anaconda вы можете запустить Jupyter Lab, открыв терминал или командную строку и выполнив следующую команду:

jupiterlab lab

Jupyter Lab откроется в вашем веб-браузере по умолчанию, и отсюда вы сможете создать новую записную книжку Python, нажав кнопку «Создать» в правом верхнем углу и выбрав «Python 3» из списка параметров.

Записная книжка Python — это документ, содержащий как текст, так и код, который можно использовать для написания объяснений и руководств, а также для запуска и тестирования кода.

Установка API глубокого обучения

Вот как установить новые зависимости с помощью навигатора anaconda 🙂

  • Откройте свой верный Anaconda Navigator.
  • Выберите новую среду из выпадающего меню и нажмите кнопку «Установить».
  • В строке поиска введите «панды» и нажмите Enter. Выберите пакет «панды» и нажмите «Применить». Повторите этот шаг для «numpy» и «tensorflow».

  • Сядьте поудобнее, расслабьтесь и позвольте Анаконде творить свое волшебство.
  • После завершения установки активируйте новую среду, нажав кнопку «Применить». Теперь вы готовы начать готовить что-то полезное для машинного обучения с помощью ваших новых блестящих библиотек pandas, numpy и tensorflow!

Вот и все! Вы только что установили pandas, numpy и tensorflow с помощью Anaconda. А теперь вперед и покоряйте мир науки о данных!

И вот так, вы готовы к работе!

В заключение, создание технической среды для глубокого обучения поначалу может показаться пугающим, но с небольшим планированием и правильными инструментами это на самом деле довольно просто. Используя менеджер пакетов, такой как Anaconda, вы можете легко установить и управлять всеми необходимыми библиотеками и фреймворками, такими как TensorFlow, Pandas и Numpy. Приложив немного усилий, вы уже на пути к тому, чтобы стать профессионалом в области глубокого обучения!

Позвольте мне дать вам здесь ваш первый проект глубокого обучения с использованием MNIST, чтобы вы могли проверить, все ли работает (не беспокойтесь, если есть МНОГО вещей, которые вы не понимаете прямо сейчас, мы рассмотрим их одну за другой в следующих записях. )

# load the MNIST dataset
(x_train, y_train), (x_test, y_test) = keras.datasets.mnist.load_data()

# preprocess the data
x_train = x_train.astype('float32') / 255.0
x_test = x_test.astype('float32') / 255.0

# reshape the data to be in the form (batch_size, height, width, channels)
x_train = x_train.reshape(x_train.shape[0], 28, 28, 1)
x_test = x_test.reshape(x_test.shape[0], 28, 28, 1)

# one-hot encode the labels
y_train = keras.utils.to_categorical(y_train, 10)
y_test = keras.utils.to_categorical(y_test, 10)

# define the model
model = keras.Sequential()
model.add(keras.layers.Conv2D(filters=32, kernel_size=(3,3), activation='relu', input_shape=(28,28,1)))
model.add(keras.layers.MaxPooling2D(pool_size=(2,2)))
model.add(keras.layers.Flatten())
model.add(keras.layers.Dense(units=64, activation='relu'))
model.add(keras.layers.Dense(units=10, activation='softmax'))

# compile the model
model.compile(optimizer='adam',
           loss='categorical_crossentropy',
           metrics=['accuracy'])

# train the model
model.fit(x_train, y_train, epochs=5)

# evaluate the model
accuracy = model.evaluate(x_test, y_test)[1]
print('Test accuracy:', accuracy)

Эта модель состоит из простой сверточной нейронной сети с одним сверточным слоем и одним полносвязным слоем. Сверточный слой имеет 32 фильтра, размер ядра (3,3) и использует функцию активации ReLU, а полносвязный слой имеет 64 единицы и использует функцию активации ReLU. Модель скомпилирована с помощью алгоритма оптимизации Адама и категориальной функции кросс-энтропийных потерь и обучена на обучающих данных для 5 эпох. Наконец, модель оценивается на тестовых данных, и печатается точность.

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

Надеюсь, вам понравилась эта запись, и вы можете связаться со мной или оставить любое задание :), следующий пост будет об основных статистических данных, необходимых для начала понимания DL!