Обновление панд до версии 0.19 в Azure ML Studio

Мне бы очень хотелось получить доступ к некоторым из обновленных функций в pandas 0.19, но студия Azure ML использует pandas 0.18 как часть пакета Anaconda 4.0. Есть ли способ обновить версию, которая используется в компонентах "Выполнение скрипта Python"?

2 ответа

Решение

Я предлагаю вам следующие шаги, чтобы показать, как обновить версию библиотеки панд в Execute Python Script,

Шаг 1: Используйте virtualenv компонент для создания независимой среды выполнения Python в вашей системе. Сначала установите его с помощью команды pip install virtualenv если у вас его нет

Если вы успешно установили его, вы можете увидеть его в файле Python/Scripts.

Шаг 2: Запустите запятую, чтобы создать независимую среду выполнения Python.

Шаг 3: Затем перейдите в папку Scripts созданной директории и активируйте ее (этот шаг важен, не пропустите его)

Пожалуйста, не закрывайте это командное окно и используйте pip install pandas==0.19 загрузить внешние библиотеки в этом командном окне.

Шаг 4: Сожмите все файлы в папке Lib/site-packages в zip-пакет (я называю это pandas - пакет здесь)

Шаг 5. Загрузите zip-пакет в набор данных WorkSpace машинного обучения Azure.

конкретные шаги, пожалуйста, обратитесь к техническим примечаниям.

После успеха вы увидите загруженный пакет в списке DataSet.

Шаг 6: Перед определением метода azureml_main в модуле Execute Python Script вам нужно удалить старый pandas модули и его зависимости, а затем импортировать pandas опять же, как код ниже.

import sys
import pandas as pd
print(pd.__version__)
del sys.modules['pandas']
del sys.modules['numpy']
del sys.modules['pytz']
del sys.modules['six']
del sys.modules['dateutil']
sys.path.insert(0, '.\\Script Bundle')
for td in [m for m in sys.modules if m.startswith('pandas.') or m.startswith('numpy.') or m.startswith('pytz.') or m.startswith('dateutil.') or m.startswith('six.')]:
    del sys.modules[td]
import pandas as pd
print(pd.__version__)
# The entry point function can contain up to two input arguments:
#   Param<dataframe1>: a pandas.DataFrame
#   Param<dataframe2>: a pandas.DataFrame
def azureml_main(dataframe1 = None, dataframe2 = None):

Затем вы можете увидеть результат из журналов, как показано ниже, сначала распечатайте старую версию 0.14.0затем распечатайте новую версию 0.19.0 из загруженного почтового файла.

[Information]         0.14.0
[Information]         0.19.0

Вы также можете обратиться к этим темам: получить доступ к файлу BLOB-объекта с помощью метки времени в Azure и перезагрузить его с помощью reset.

Надеюсь, это поможет вам.

Средство машинного обучения Azure обеспечивает гораздо большую гибкость при настройке сред с использованием Docker. Я перешел на использование этого инструмента.

Другие вопросы по тегам