O que é o SDK do Azure Machine Learning para Python?
Cientistas de dados e desenvolvedores de IA usam O SDK do Azure Machine Learning para o Python a fim de compilar e executar fluxos de trabalho de aprendizado de máquina com o Serviço do Azure Machine Learning. Você pode interagir com o serviço em qualquer ambiente de Python, incluindo Jupyter Notebooks, Visual Studio Code ou seu IDE favorito do Python.
As principais áreas do SDK incluem:
- Explorar, preparar e gerenciar o ciclo de vida de seus conjuntos de informações usados em experimentos de machine learning.
- Gerenciar recursos de nuvem para monitorar, registrar em log e organizar seus experimentos de machine learning.
- Treine modelos localmente ou usando recursos de nuvem, incluindo o treinamento de modelo com aceleração de GPU.
- Use o machine learning automatizado, que aceita parâmetros de configuração e dados de treinamento. Ele itera automaticamente por meio de algoritmos e configurações de hiperparâmetro para encontrar o melhor modelo para executar previsões.
- Implante os serviços Web para converter seus modelos treinados em serviços RESTful que podem ser consumidos em qualquer aplicativo.
Para obter uma explicação passo a passo de como começar, experimente o tutorial.
As seções a seguir são visões gerais de algumas das classes mais importantes no SDK e padrões de design comuns para usá-las. Consulte o guia de instalação para obter o SDK.
Estável vs. experimental
O SDK do Azure Machine Learning para Python fornece recursos estáveis e experimentais no mesmo SDK.
Status do recurso/funcionalidade | Descrição |
---|---|
Recursos estáveis |
Pronto para produção Esses recursos são recomendados para a maioria dos casos de uso e ambientes de produção. Eles são atualizados com menos frequência do que os recursos experimentais. |
Recursos experimentais |
Em desenvolvimento Esses recursos são recursos recém-desenvolvidos & atualizações que podem não estar prontas ou totalmente testadas para uso em produção. Embora os recursos sejam, em sua maior parte, funcionais, eles podem incluir algumas alterações da falha. Recursos experimentais são usados para corrigir bugs de interrupção do SDK e somente receberão atualizações durante o período de teste. Os recursos experimentais também são chamados de recursos que estão em versão prévia. Como o nome indica, os recursos experimentais (versão prévia) servem para experimentação, não sendo considerados livres de bugs nem estáveis. Por isso, recomendamos recursos experimentais apenas para usuários avançados que desejam experimentar versões novas de funcionalidades e pretendem participar dos relatórios de bugs e falhas. |
Os recursos experimentais são rotulados por uma seção de observação na referência do SDK e denotados por texto, como (versão prévia), em toda a documentação do Azure Machine Learning.
Workspace
Namespace: azureml.core.workspace.Workspace
A classe Workspace
é o recurso fundamental na nuvem que você usa para experimentar, treinar e implantar modelos de machine learning. Ele vincula sua assinatura do Azure e o grupo de recursos a um objeto facilmente consumido.
Exiba todos os parâmetros do método create Workspace para reutilizar as instâncias existentes (Armazenamento, Key Vault, Application Insights e ACR – Registro de Contêiner do Azure), bem como modificar configurações adicionais, como a configuração de ponto de extremidade privado e o destino de computação.
Importe a classe e crie um novo workspace usando o código a seguir. Defina create_resource_group
para False
se você tiver um grupo de recursos do Azure já existente que você deseje usar para o workspace. Algumas funções podem solicitar credenciais de autenticação do Azure.
from azureml.core import Workspace
ws = Workspace.create(name='myworkspace',
subscription_id='<azure-subscription-id>',
resource_group='myresourcegroup',
create_resource_group=True,
location='eastus2'
)
Use o mesmo workspace em vários ambientes. Para isso, primeiro grave-o em um arquivo JSON de configuração. Isso salva a assinatura, o recurso e os dados de nome do workspace.
ws.write_config(path="./file-path", file_name="ws_config.json")
Carregue o workspace lendo o arquivo de configuração.
from azureml.core import Workspace
ws_other_environment = Workspace.from_config(path="./file-path/ws_config.json")
Como alternativa, use o método estático get()
para carregar um workspace existente sem usar arquivos de configuração.
from azureml.core import Workspace
ws = Workspace.get(name="myworkspace", subscription_id='<azure-subscription-id>', resource_group='myresourcegroup')
A variável ws
representa um objeto Workspace
nos exemplos de código a seguir.
Experimento
Namespace: azureml.core.experiment.Experiment
A classe Experiment
é outro recurso de nuvem fundamental que representa uma coleção de avaliações (execuções de modelo individuais). O código a seguir busca um objeto Experiment
de dentro de Workspace
por nome ou cria um novo objeto Experiment
se o nome não existe.
from azureml.core.experiment import Experiment
experiment = Experiment(workspace=ws, name='test-experiment')
Execute o código a seguir para obter uma lista de todos os objetos Experiment
contidos em Workspace
.
list_experiments = Experiment.list(ws)
Use a função get_runs
para recuperar uma lista de objetos Run
(testes) de Experiment
. O código a seguir recupera as execuções e imprime cada ID de execução.
list_runs = experiment.get_runs()
for run in list_runs:
print(run.id)
Há duas maneiras de realizar um teste de experimento. Se você estiver experimentando interativamente em um Jupyter notebook, use a função start_logging
. Se você estiver enviando um experimento de um ambiente padrão do Python, use a função submit
. Ambas as funções retornam um objeto Run
. A variável experiment
representa um objeto Experiment
nos exemplos de código a seguir.
Executar
Namespace: azureml.core.run.Run
Uma execução representa um único teste de um experimento.
Run
é o objeto que você usa para monitorar a execução assíncrona de uma avaliação, armazenar a saída da avaliação, analisar os resultados e acessar os artefatos gerados. Você usa Run
dentro do código de experimentação para registrar métricas e artefatos no serviço de Histórico de Execuções. A funcionalidade inclui:
- armazenamento e recuperação de métricas e dados;
- uso de marcas e a hierarquia de filhos para facilitar a pesquisa de execuções anteriores;
- registro de arquivos de modelo armazenados para implantação;
- armazenamento, modificação e recuperação de propriedades de uma execução.
Crie um objeto Run
enviando um objeto Experiment
com um objeto de configuração de execução. Você usa o parâmetro tags
para anexar categorias e rótulos personalizados às suas execuções. Você pode encontrá-los e recuperá-los facilmente mais tarde de Experiment
.
tags = {"prod": "phase-1-model-tests"}
run = experiment.submit(config=your_config_object, tags=tags)
Use a função list
estática para obter uma lista de todos os objetos Run
de Experiment
. Especifique o parâmetro tags
para filtrar pela marca que você criou anteriormente.
from azureml.core.run import Run
filtered_list_runs = Run.list(experiment, tags=tags)
Use a função get_details
para recuperar a saída detalhada para a execução.
run_details = run.get_details()
A saída para essa função é um dicionário que inclui:
- ID da execução
- Status
- Horas de início e término
- Destino de computação (local versus nuvem)
- Dependências e versões usadas na execução
- Dados específicos do treinamento (diferem dependendo do tipo de modelo)
Para obter mais exemplos de como configurar e monitorar execuções, confira as instruções.
Modelo
Namespace: azureml.core.model.Model
A classe Model
é usada para trabalhar com representações de nuvem de modelos de machine learning. Os métodos ajudam a transferir modelos entre ambientes de desenvolvimento local e o objeto Workspace
na nuvem.
É possível usar o registro de modelo para armazenar e controlar a versão de seus modelos na nuvem do Azure no workspace. Modelos registrados são identificados por nome e versão. Cada vez que você registra um modelo com o mesmo nome de um já existente, o Registro incrementa a versão. O Azure Machine Learning é compatível com qualquer modelo que possa ser carregado por meio do Python 3, não apenas modelos do Azure Machine Learning.
O exemplo a seguir mostra como criar um modelo de classificação local simples com scikit-learn
, registrar o modelo em Workspace
e baixar o modelo da nuvem.
Crie um classificador simples, clf
, para prever a rotatividade de clientes com base na idade deles. Em seguida, despeje o modelo em um arquivo de .pkl
no mesmo diretório.
from sklearn import svm
import joblib
import numpy as np
# customer ages
X_train = np.array([50, 17, 35, 23, 28, 40, 31, 29, 19, 62])
X_train = X_train.reshape(-1, 1)
# churn y/n
y_train = ["yes", "no", "no", "no", "yes", "yes", "yes", "no", "no", "yes"]
clf = svm.SVC(gamma=0.001, C=100.)
clf.fit(X_train, y_train)
joblib.dump(value=clf, filename="churn-model.pkl")
Use a função register
para registrar o modelo no workspace. Especifique o caminho do modelo local e o nome do modelo. Registrar o mesmo nome mais de uma vez criará uma nova versão.
from azureml.core.model import Model
model = Model.register(workspace=ws, model_path="churn-model.pkl", model_name="churn-model-test")
Agora que o modelo está registrado no workspace, é fácil gerenciar, baixar e organizar os modelos. Para recuperar um objeto de modelo (por exemplo, em outro ambiente) de Workspace
, use o construtor de classe e especifique o nome do modelo e os parâmetros opcionais. Em seguida, use a função download
para baixar o modelo, incluindo a estrutura da pasta de nuvem.
from azureml.core.model import Model
import os
model = Model(workspace=ws, name="churn-model-test")
model.download(target_dir=os.getcwd())
Use a função delete
para remover o modelo de Workspace
.
model.delete()
Depois que você tiver um modelo registrado, implantá-lo como um serviço Web será um processo simples. Primeiro, você cria e registra uma imagem. Esta etapa configura o ambiente do Python e as respectivas dependências, juntamente com um script para definir os formatos de solicitação e resposta do serviço Web. Depois de criar uma imagem, você cria uma configuração de implantação que define os núcleos de CPU e os parâmetros de memória para o destino de computação. Em seguida, você anexa a imagem.
ComputeTarget, RunConfiguration e ScriptRunConfig
Namespace: azureml.core.compute.ComputeTarget
Namespace: azureml.core.runconfig.RunConfiguration
Namespace: azureml.core.script_run_config.ScriptRunConfig
A classe ComputeTarget
é a classe pai abstrata para criar e gerenciar destinos de computação. Um destino de computação representa uma variedade de recursos em que você pode treinar seus modelos de machine learning. Um destino de computação pode ser um computador local ou um recurso de nuvem, tal como Computação do Azure Machine Learning, Azure HDInsight ou uma máquina virtual remota.
Use destinos de computação para tirar proveito de máquinas virtuais poderosas para treinamento de modelos e configurar destinos de computação persistentes ou destinos invocados por runtimes temporários. Para obter um guia abrangente sobre como configurar e gerenciar destinos de computação, confira as instruções.
O código a seguir mostra um exemplo simples de configuração de um destino de AmlCompute
(classe filho de ComputeTarget
). Esse destino cria um recurso de computação remota em runtime no objeto Workspace
. O recurso é dimensionado automaticamente quando um trabalho é enviado. Ele é excluído automaticamente quando a execução é concluída.
Reutilize o modelo de rotatividade de scikit-learn
simples e crie-o em seu próprio arquivo, train.py
, no diretório atual. No final do arquivo, crie um diretório chamado outputs
. Essa etapa cria um diretório na nuvem (seu workspace) para armazenar o modelo treinado que joblib.dump()
serializou.
# train.py
from sklearn import svm
import numpy as np
import joblib
import os
# customer ages
X_train = np.array([50, 17, 35, 23, 28, 40, 31, 29, 19, 62])
X_train = X_train.reshape(-1, 1)
# churn y/n
y_train = ["yes", "no", "no", "no", "yes", "yes", "yes", "no", "no", "yes"]
clf = svm.SVC(gamma=0.001, C=100.)
clf.fit(X_train, y_train)
os.makedirs("outputs", exist_ok=True)
joblib.dump(value=clf, filename="outputs/churn-model.pkl")
Em seguida, você cria o destino de computação instanciando um objeto RunConfiguration
e definindo o tipo e o tamanho. Este exemplo usa o menor tamanho de recurso (um núcleo de CPU, 3,5 GB de memória). A variável list_vms
contém uma lista de máquinas virtuais compatíveis e os respectivos tamanhos.
from azureml.core.runconfig import RunConfiguration
from azureml.core.compute import AmlCompute
list_vms = AmlCompute.supported_vmsizes(workspace=ws)
compute_config = RunConfiguration()
compute_config.target = "amlcompute"
compute_config.amlcompute.vm_size = "STANDARD_D1_V2"
Crie dependências para o ambiente do Python do recurso de computação remota usando a classe CondaDependencies
. O arquivo de train.py
está usando scikit-learn
e numpy
, que precisam ser instalados no ambiente. Você também pode especificar versões de dependências. Use o objeto dependencies
para definir o ambiente em compute_config
.
from azureml.core.conda_dependencies import CondaDependencies
dependencies = CondaDependencies()
dependencies.add_pip_package("scikit-learn")
dependencies.add_pip_package("numpy==1.15.4")
compute_config.environment.python.conda_dependencies = dependencies
Agora você está pronto para enviar o experimento. Use a classe ScriptRunConfig
para anexar a configuração de destino de computação e para especificar o caminho/arquivo para o script de treinamento train.py
. Envie o experimento especificando o parâmetro config
da função submit()
. Chame wait_for_completion
na execução resultante para ver a saída de execução assíncrona enquanto o ambiente é inicializado e o modelo é treinado.
Aviso
A seguir estão as limitações em relação a caracteres específicos quando usados em parâmetros de ScriptRunConfig
:
- Os caracteres
"
,$
,;
e\
são ignorados pelo back-end, pois são considerados caracteres reservados para a separação de comandos bash. - Os caracteres
(
,)
,%
,!
,^
,<
,>
,&
e|
têm escape para execuções locais em Windows.
from azureml.core.experiment import Experiment
from azureml.core import ScriptRunConfig
script_run_config = ScriptRunConfig(source_directory=os.getcwd(), script="train.py", run_config=compute_config)
experiment = Experiment(workspace=ws, name="compute_target_test")
run = experiment.submit(config=script_run_config)
run.wait_for_completion(show_output=True)
Após a conclusão da execução, o arquivo de modelo treinado churn-model.pkl
está disponível no workspace.
Ambiente
Namespace: azureml.core.environment
Os ambientes do Azure Machine Learning especificam os pacotes Python, as variáveis de ambiente e as configurações de software em relação aos scripts de treinamento e pontuação. Além do Python, você também pode configurar o PySpark, Docker e R para ambientes. Internamente, os ambientes resultam em imagens do Docker usadas para executar os processos de treinamento e pontuação no destino de computação. Os ambientes são entidades gerenciadas e com controle de versão dentro de seu workspace do Machine Learning que habilitam fluxos de trabalho de aprendizado de máquina portáteis, reproduzíveis e auditáveis em uma variedade de destinos e tipos de computação.
Você pode usar um objeto Environment
para:
- Desenvolver seu script de treinamento.
- Reutilizar o mesmo ambiente na Computação do Azure Machine Learning para treinamento de modelos em escala.
- Implantar seu modelo com esse mesmo ambiente sem estar vinculado a um tipo de computação específico.
O código a seguir importa a classe Environment
do SDK e cria uma instância de um objeto de ambiente.
from azureml.core.environment import Environment
Environment(name="myenv")
Adicione pacotes a um ambiente usando arquivos Conda, pip ou de roda privada. Especifique cada dependência de pacote usando a classe CondaDependency
para adicioná-la à PythonSection
do ambiente.
O exemplo a seguir é adicionado ao ambiente. Ele adiciona a versão 1.17.0 de numpy
. Ele também adiciona o pacote de pillow
ao ambiente, myenv
. O exemplo usa o método add_conda_package()
e o método add_pip_package()
, respectivamente.
from azureml.core.environment import Environment
from azureml.core.conda_dependencies import CondaDependencies
myenv = Environment(name="myenv")
conda_dep = CondaDependencies()
# Installs numpy version 1.17.0 conda package
conda_dep.add_conda_package("numpy==1.17.0")
# Installs pillow package
conda_dep.add_pip_package("pillow")
# Adds dependencies to PythonSection of myenv
myenv.python.conda_dependencies=conda_dep
Para enviar uma execução de treinamento, você precisa combinar seu ambiente, o destino de computação e o script Python de treinamento em uma configuração de execução. Essa configuração é um objeto wrapper usado para enviar execuções.
Quando você envia uma execução de treinamento, a criação de um ambiente pode levar vários minutos. A duração depende do tamanho das dependências necessárias. Os ambientes são armazenados em cache pelo serviço. Assim, desde que a definição do ambiente permaneça inalterada, você incorrerá no tempo de configuração completa apenas uma vez.
O exemplo a seguir mostra onde você poderia usar ScriptRunConfig
como objeto wrapper.
from azureml.core import ScriptRunConfig, Experiment
from azureml.core.environment import Environment
exp = Experiment(name="myexp", workspace = ws)
# Instantiate environment
myenv = Environment(name="myenv")
# Add training script to run config
runconfig = ScriptRunConfig(source_directory=".", script="train.py")
# Attach compute target to run config
runconfig.run_config.target = "local"
# Attach environment to run config
runconfig.run_config.environment = myenv
# Submit run
run = exp.submit(runconfig)
Se você não especificar um ambiente em sua configuração de execução antes de enviar a execução, um ambiente padrão será criado para você.
Confira a seção Implantação de modelo para usar ambientes para implantar um serviço Web.
Pipeline, PythonScriptStep
Namespace: azureml.pipeline.core.pipeline.Pipeline
Namespace: azureml.pipeline.steps.python_script_step.PythonScriptStep
Um pipeline de Azure Machine Learning é um fluxo de trabalho automatizado de uma tarefa de machine learning completa. As subtarefas são encapsuladas como uma série de etapas no pipeline. Um pipeline Azure Machine Learning pode ser tão simples quanto uma etapa que chama um script Python. Os pipelines incluem funcionalidade para:
- Preparação de dados, incluindo importação, validação e limpeza, mudanças irreversíveis e transformação, normalização e preparo
- Configuração de treinamento, incluindo argumentos de parametrização, filePaths e configurações de log/relatório
- Treinamento e validação com eficiência e repetição, o que pode incluir a especificação de subconjuntos de dados específicos, diferentes recursos de computação de hardware, processamento distribuído e monitoramento de progresso
- Implantação, incluindo controle de versão, dimensionamento, provisionamento e controle de acesso
- Publicação de um pipeline em um ponto de extremidade REST para executar novamente de qualquer biblioteca HTTP
Uma PythonScriptStep
é uma etapa básica e interna para executar um script do Python em um destino de computação. Ele usa um nome de script e outros parâmetros opcionais, tais como argumentos para o script, destino de computação, entradas e saídas. O código a seguir é um exemplo simples de um PythonScriptStep
. Para obter um exemplo de um script de train.py
, consulte a subseção tutorial.
from azureml.pipeline.steps import PythonScriptStep
train_step = PythonScriptStep(
script_name="train.py",
arguments=["--input", blob_input_data, "--output", output_data1],
inputs=[blob_input_data],
outputs=[output_data1],
compute_target=compute_target,
source_directory=project_folder
)
Após a criação de pelo menos uma etapa, as etapas podem ser vinculadas e publicadas como um pipeline automatizado simples.
from azureml.pipeline.core import Pipeline
pipeline = Pipeline(workspace=ws, steps=[train_step])
pipeline_run = experiment.submit(pipeline)
Para obter um exemplo abrangente de criação de um fluxo de trabalho de pipeline, siga o tutorial avançado.
Padrão para criar e usar pipelines
Um pipeline do Azure Machine Learning é associado a um workspace do Azure Machine Learning e uma etapa de pipeline é associada a um destino de computação disponível nesse espaço de trabalho. Para obter mais informações, confira este artigo sobre workspaces ou esta explicação de destinos de computação.
Um padrão comum para etapas de pipeline é:
- Especificar workspace, computação e armazenamento
- Configurar os dados de entrada e saída usando
- Dataset, que disponibiliza um armazenamento de dados existente do Azure
- PipelineDataset, que encapsula dados tabulares tipados
- PipelineData, que é usado para arquivos intermediários ou dados de diretório gravados por uma etapa e destinados a serem consumidos por outra
- Definir uma ou mais etapas de pipeline
- Criar uma instância de um pipeline usando seu workspace e suas etapas
- Criar um experimento para o qual você envia o pipeline
- Monitorar os resultados do experimento
Este notebook é um bom exemplo desse padrão. trabalho
Para obter mais informações sobre pipelines de Azure Machine Learning e, em particular, como eles são diferentes de outros tipos de pipelines, consulte este artigo.
AutoMLConfig
Namespace: azureml.train.automl.automlconfig.AutoMLConfig
Use a classe AutoMLConfig
para configurar parâmetros para treinamento do machine learning automatizado. O machine learning automatizado itera em várias combinações de algoritmos de machine learning e configurações de hiperparâmetro. Em seguida, ele encontra o modelo de melhor ajuste com base na métrica de precisão escolhida. A configuração permite especificar:
- Tipo de tarefa (classificação, regressão, previsão)
- O número de iterações de algoritmos e o tempo máximo por iteração
- Métrica de precisão para otimizar
- Algoritmos para lista de bloqueados/lista de permitidos
- Número de validações cruzadas
- Destinos de computação
- Dados de treinamento
Observação
Use o automl
extra em sua instalação para usar o machine learning automatizado.
Para obter guias e exemplos detalhados de como configurar experiências de machine learning automatizado, confira o tutorial e as instruções.
O código a seguir ilustra como criar um objeto de configuração de machine learning automatizado para um modelo de classificação e usá-lo ao enviar um experimento.
from azureml.train.automl import AutoMLConfig
automl_config = AutoMLConfig(task="classification",
X=your_training_features,
y=your_training_labels,
iterations=30,
iteration_timeout_minutes=5,
primary_metric="AUC_weighted",
n_cross_validations=5
)
Use o objeto automl_config
para enviar um experimento.
from azureml.core.experiment import Experiment
experiment = Experiment(ws, "automl_test_experiment")
run = experiment.submit(config=automl_config, show_output=True)
Depois de enviar o experimento, a saída mostra a precisão de treinamento para cada iteração à medida que ela é concluída. Depois que a execução é concluída, um objeto AutoMLRun
(que estende a classe Run
) é retornado. Obtenha o modelo de melhor ajuste usando a função get_output()
para retornar um objeto Model
.
best_model = run.get_output()
y_predict = best_model.predict(X_test)
Implantação de modelo
Namespace: azureml.core.model.InferenceConfig
Namespace: azureml.core.webservice.webservice.Webservice
A classe InferenceConfig
é para definições de configuração que descrevem o ambiente necessário para hospedar o modelo e o serviço Web.
Webservice
é a classe pai abstrata para criar e implantar serviços Web para seus modelos. Para ver um guia detalhado sobre como se preparar para a implantação de modelo e como implantar serviços Web, confira estas instruções.
Use ambientes ao implantar um modelo como um serviço Web. Os ambientes habilitam um fluxo de trabalho reproduzível e conectado em que é possível implantar um modelo usando as mesmas bibliotecas na computação de treinamento e de inferência. Internamente, os ambientes são implementados como imagens do Docker. Você pode usar qualquer uma das imagens fornecidas pela Microsoft ou usar suas próprias imagens personalizadas do Docker. Se você já tiver usado a classe ContainerImage
na implantação, confira a classe DockerSection
para criar um fluxo de trabalho semelhante com ambientes.
Para implantar um serviço Web, combine o ambiente, a computação de inferência, o script de pontuação e o modelo registrado em seu objeto de implantação, deploy()
.
O exemplo a seguir pressupõe que você já concluiu uma execução de treinamento usando o ambiente, myenv
, e deseja implantar esse modelo nas Instâncias de Contêiner do Azure.
from azureml.core.model import InferenceConfig, Model
from azureml.core.webservice import AciWebservice, Webservice
# Register the model to deploy
model = run.register_model(model_name = "mymodel", model_path = "outputs/model.pkl")
# Combine scoring script & environment in Inference configuration
inference_config = InferenceConfig(entry_script="score.py",
environment=myenv)
# Set deployment configuration
deployment_config = AciWebservice.deploy_configuration(cpu_cores = 1,
memory_gb = 1)
# Define the model, inference, & deployment configuration and web service name and location to deploy
service = Model.deploy(workspace = ws,
name = "my_web_service",
models = [model],
inference_config = inference_config,
deployment_config = deployment_config)
Este exemplo cria um serviço Web de Instâncias de Contêiner do Azure, que é melhor para testes de pequena escala e implantações rápidas. Para implantar o modelo como um serviço Web em escala de produção, use o AKS (Serviço de Kubernetes do Azure). Para obter mais informações, confira Classe AksCompute.
Dataset
Namespace: azureml.core.dataset.Dataset
Namespace: azureml.data.file_dataset.FileDataset
Namespace: azureml.data.tabular_dataset.TabularDataset
A classe Dataset
é um recurso fundamental para explorar e gerenciar dados no Azure Machine Learning. Você pode explorar seus dados com estatísticas resumidas e salvá-lo no workspace do AML para obter funcionalidades de controle de versão e de reprodutibilidade. Os conjuntos de dados são facilmente consumidos por modelos durante o treinamento. Para obter exemplos de uso detalhados, confira o guia de instruções.
-
TabularDataset
representa dados em um formato tabular criado analisando um arquivo ou lista de arquivos. -
FileDataset
faz referência a um ou vários arquivos em repositórios de armazenamento ou de URLs públicas.
O exemplo a seguir mostra como criar um TabularDataset apontando para um único caminho em um armazenamento de dados.
from azureml.core import Dataset
dataset = Dataset.Tabular.from_delimited_files(path = [(datastore, 'train-dataset/tabular/iris.csv')])
dataset.take(3).to_pandas_dataframe()
O exemplo a seguir mostra como criar um FileDataset
referenciando múltiplas URLs de arquivo.
from azureml.core.dataset import Dataset
url_paths = [
'http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz',
'http://yann.lecun.com/exdb/mnist/train-labels-idx1-ubyte.gz',
'http://yann.lecun.com/exdb/mnist/t10k-images-idx3-ubyte.gz',
'http://yann.lecun.com/exdb/mnist/t10k-labels-idx1-ubyte.gz'
]
dataset = Dataset.File.from_files(path=url_paths)
Próximas etapas
Experimente estas próximas etapas para aprender a usar o SDK do Azure Machine Learning para Python:
Siga o tutorial para aprender a criar, treinar e implantar um modelo em Python.
Pesquise classes e módulos na documentação de referência deste site usando o sumário à esquerda.