Comments 5
np.array([int(x) for x in mnist['target']])
Как-то не очень питоняче, лучше было бы так:
np.array(map(int, mnist['target']))
А ещё лучше так:
np.array(mnist['target'], dtype=int)
Способ выше и Ваш способ выглядят невзаимозаменимо, но я могу ошибаться.
В Azure ML Jupyter Notebook работает насколько я знаю на отдельной виртуалке, и просто запуская в нём эксперимент мы не получаем бенефитов от распределения задач по кластеру, сохранения результатов эксперимента и т.д. Обычно используют этот ноутбук для посылки задач на кластер, но при этом же training script приходится писать просто в виде текста, без поддержки среды. В общем это для ряда задач вроде оптимизации гиперпараметров удобно (и я ещё напишу про это в следующий раз), но для первоначальной отладки и запуска скрипта мне очень понравился способ через VS Code.
Да, если я посылаю эксперимент на кластер, то делаю ли я это через VS Code, или через Jupyter Notebook с помощью Azure ML SDK — это одно и то же, все результаты хранятся в одном месте. С этой точки зрения способы взаимозаменяемы.
Да, Jupyter Notebook запускается на одной из машин из списка Compute (точно также и через VS Code происходит).
> сохранения результатов эксперимента
Все данные jupyter notebook хранятся через смонтированную папку в Azure Files
> распределения задач по кластеру
Можно выбирать разные jupyter на разных машинах — везде примонтирован один и тот же AFS. Какое-то нормальное распределение могу ожидать от способа запуска через AKS (Kubernetes) или ACI (вроде тоже есть, но не уверен).
В любом случае, спасибо за статью, узнал много интересного о ML Azure
P.S. насчет ACI c (https://docs.microsoft.com/en-us/azure/container-instances/container-instances-gpu) не думали?
Как преодолеть страх и начать использовать Azure Machine Learning