Учебник Autokeras с Python
AutoKeras – это фреймворк машинного обучения на основе Keras. Он разработан DATA Lab в Техасском университете A&M, чтобы обеспечить возможность проводить глубокое обучение для всех. Проще говоря, это автоматическая структура машинного обучения для глубокого обучения. Если вы хотите узнать, как использовать AutoKeras для глубокого обучения, эта статья для вас. В этой статье я представлю учебник по AutoKeras с использованием Python.
Что такое AutoKeras?
AutoKeras – это среда AutoML для глубокого обучения. Если вы раньше использовали фреймворки глубокого обучения, такие как PyTorch, TensorFlow и Keras, вы сможете понять, насколько легко вы можете создавать мощные модели глубокого обучения с помощью этой среды AutoML. Хотя на ее реализацию уходит такое же время, что и на другие платформы глубокого обучения, его легко использовать по сравнению со всеми другими платформами глубокого обучения.
Платформа построена на TensorFlow и Keras, поэтому в настоящее время совместима только с Python версии 3.5 и выше и TensorFlow версии 2.3.0 и выше. Вам не нужно обновлять свою версию TensorFlow, если вы используете более раннюю версию, потому что при установке библиотеки AutoKeras она будет автоматически обновлена в вашей системе.
Учебник AutoKeras с Python
В этом разделе я представлю вам руководство по библиотеке AutoKeras в Python. Здесь я построю модель глубокого обучения для классификации текста с помощью Python. Если вы никогда не работали с AutoKeras, вы можете легко установить его в своей системе с помощью команды pip:
- pip install autokeras
Я предлагаю вам использовать систему с поддержкой графического процессора для этой задачи. Если в вашей системе нет графического процессора, вы можете использовать для этой задачи Google Colab. Теперь давайте рассмотрим эту задачу с импорта набора данных и подготовки ее для соответствия модели:
import autokeras import pandas as pd data = pd.read_csv("training.csv") data2 = pd.read_csv("testing.csv") print(data.head()) data = data.dropna() x = data[["text"]].to_numpy() y = data[["target"]].to_numpy()
Теперь я обучу модель классификации текста, используя библиотеку autokeras с max_trial = 1. Если вы работаете с гораздо большим набором данных, вам следует установить для этого параметра значение от 1 до 5 в зависимости от того, сколько данных у вас есть:
model = autokeras.TextClassifier(overwrite=True, max_trials=1) model.fit(x, y, epochs=2)
Результат:
Trial 1 Complete [00h 00m 57s]
val_loss: 0.510387659072876
Best val_loss So Far: 0.510387659072876
Total elapsed time: 00h 00m 57s
INFO:tensorflow:Oracle triggered exit
Epoch 1/2
159/159 [==============================] - 33s 204ms/step - loss: 0.6760 - accuracy: 0.5970
Epoch 2/2
159/159 [==============================] - 33s 210ms/step - loss: 0.4758 - accuracy: 0.7894
INFO:tensorflow:Assets written to: ./text_classifier/best_model/assets
В приведенном выше коде я также установил эпохи как «2», вы можете увеличить количество эпох в зависимости от того, сколько данных есть в вашем наборе обучающих данных. Но если вы получаете хорошие результаты за меньшее количество эпох, это нормально, обычно это происходит, когда набор данных невелик. Теперь давайте протестируем модель классификации текста на тестовом наборе и посмотрим на окончательные прогнозы:
testing_data = data2[["text"]].to_numpy() testing_id = data2[['id']] predictions = model.predict(testing_data) predictions = list(map(int, predictions)) final_output = pd.DataFrame({'id': testing_id.id, 'target': predictions}) print(final_output)
Результат:
102/102 [==============================] - 6s 55ms/step
id target
0 0 1
1 2 0
2 3 1
3 9 1
4 11 1
... ... ...
3258 10861 0
3259 10865 1
3260 10868 1
3261 10874 1
3262 10875 0
[3263 rows x 2 columns]
Резюме
AutoKeras – это среда автоматического машинного обучения для глубокого обучения. Если вы раньше использовали фреймворки глубокого обучения, такие как PyTorch, TensorFlow и Keras, вы сможете понять, насколько легко можно создавать мощные модели глубокого обучения с помощью этой среды AutoML. Надеюсь, вам понравилась эта статья с рукововдством по AutoKeras с использованием Python. Не стесняйтесь задавать свои вопросы в разделе комментариев ниже.