Executar Script do Python

Importante

O suporte para o Machine Learning Studio (clássico) terminará em 31 de agosto de 2024. É recomendável fazer a transição para o Azure Machine Learning até essa data.

A partir de 1º de dezembro de 2021, você não poderá criar recursos do Machine Learning Studio (clássico). Até 31 de agosto de 2024, você pode continuar usando os recursos existentes do Machine Learning Studio (clássico).

A documentação do ML Studio (clássico) está sendo desativada e pode não ser atualizada no futuro.

Executa um script Python de um experimento Machine Learning

Categoria: Módulos de Linguagem Python

Observação

Aplica-se a: somente Machine Learning Studio (clássico)

Módulos semelhantes do tipo "arrastar e soltar" estão disponíveis no designer do Azure Machine Learning.

Visão geral do módulo

Este artigo descreve como usar o módulo Executar Script Python no Machine Learning Studio (clássico) para executar o código Python. Para obter mais informações sobre os princípios de arquitetura e design do Python no Studio (clássico), consulte o artigo a seguir.

Com o Python, você pode executar tarefas que não têm suporte atualmente por módulos existentes do Studio (clássico), como:

  • Visualizando dados usando matplotlib
  • Usando bibliotecas python para enumerar conjuntos de dados e modelos em seu workspace
  • Leitura, carregamento e manipulação de dados de fontes não compatíveis com o módulo Importar Dados

Machine Learning Studio (clássico) usa a distribuição Anaconda do Python, que inclui muitos utilitários comuns para processamento de dados.

Como usar Executar Script Python

O módulo Executar Script python contém um código Python de exemplo que você pode usar como ponto de partida. Para configurar o módulo Executar Script Python , você fornece um conjunto de entradas e código Python para executar na caixa de texto do script Python .

  1. Adicione o módulo Executar Script Python ao experimento.

  2. Role até a parte inferior do painel Propriedades e, para a Versão do Python, selecione a versão das bibliotecas do Python e o runtime a ser usado no script.

    • Distribuição do Anaconda 2.0 para Python 2.7.7
    • Distribuição do Anaconda 4.0 para Python 2.7.11
    • Distribuição do Anaconda 4.0 para Python 3.5 (padrão)

    Recomendamos que você defina a versão antes de digitar qualquer novo código. Se você alterar a versão posteriormente, um prompt solicitará que você reconheça a alteração.

    Importante

    Se você usar várias instâncias do módulo Executar Script Python em seu experimento, deverá escolher uma única versão do Python para todos os módulos no experimento.

  3. Adicione e conecte no Conjunto de Dados1 todos os conjuntos de dados do Studio (clássico) que você deseja usar para entrada. Referencie esse conjunto de dados no seu script Python como DataFrame1.

    O uso de um conjunto de dados é opcional, se você quiser gerar dados usando o Python ou usar o código Python para importar os dados diretamente para o módulo.

    Este módulo dá suporte à adição de um segundo conjunto de dados do Studio (clássico) no Dataset2. Referencie o segundo conjunto de dados no seu script Python como DataFrame2.

    Os conjuntos de dados armazenados no Studio (clássico) são convertidos automaticamente em data.frames do Pandas quando carregados com este módulo.

    Execute Python input map

  4. Para incluir novos pacotes ou código do Python, adicione o arquivo compactado que contém esses recursos personalizados no pacote Script. A entrada para o pacote script deve ser um arquivo compactado já carregado em seu workspace. Para obter mais informações sobre como preparar e carregar esses recursos, consulte Desempacotar Dados Compactados.

    Qualquer arquivo contido no arquivo compactado carregado pode ser usado durante a execução do experimento. Se o arquivo incluir uma estrutura de diretório, a estrutura será preservada, mas você deverá preparar um diretório chamado src para o caminho.

  5. Na caixa de texto Script Python, digite ou cole o script Python válido.

    A caixa de texto do script Python é pré-preenchida com algumas instruções em comentários e código de exemplo para acesso e saída de dados. Você precisa editar ou substituir esse código. Siga as convenções do Python sobre recuo e casing.

    • O script precisa conter uma função chamada azureml_main como o ponto de entrada para esse módulo.
    • A função de ponto de entrada pode conter até dois argumentos de entrada: Param<dataframe1> e Param<dataframe2>
    • Os arquivos compactados conectados à terceira porta de entrada são descompactados e armazenados no diretório, .\Script Bundleque também é adicionado ao Python sys.path.

    Portanto, se o arquivo zip contiver mymodule.py, importe-o usando import mymodule.

    • Um único conjunto de dados pode ser retornado ao Studio (clássico), que deve ser uma sequência do tipo pandas.DataFrame. Você pode criar outras saídas em seu código Python e gravá-las diretamente no armazenamento do Azure ou criar visualizações usando o dispositivo Python.
  6. Execute o experimento ou selecione o módulo e clique em Executar selecionado para executar apenas o script Python.

    Todos os dados e código são carregados em uma máquina virtual e executados usando o ambiente python especificado.

Resultados

O módulo retorna as seguintes saídas:

  • Conjunto de dados de resultados. Os resultados de qualquer computação executada pelo código Python inserido devem ser fornecidos como um data.frame do Pandas, que é convertido automaticamente no formato de conjunto de dados Machine Learning, para que você possa usar os resultados com outros módulos no experimento. O módulo é limitado a um único conjunto de dados como saída. Para obter mais informações, consulte a Tabela de Dados.

  • Dispositivo Python.    Essa saída dá suporte a saída do console e a exibição de elementos gráficos PNG usando o interpretador do Python.

Como anexar recursos de script

O módulo Executar Script Python dá suporte a arquivos de script Python arbitrários como entradas, desde que eles sejam preparados com antecedência e carregados em seu workspace como parte de um arquivo .ZIP.

Upload um arquivo ZIP que contém o código Python no workspace

  1. Na área de experimento do Machine Learning Studio (clássico), clique em Conjuntos de Dados e clique em Novo.

  2. Selecione a opção, No arquivo local.

  3. No Upload uma nova caixa de diálogo do conjunto de dados, clique na lista suspensa para Selecionar um tipo para o novo conjunto de dados e selecione a opção Arquivo Zip (.zip).

  4. Clique em Procurar para localizar o arquivo compactado.

  5. Digite um novo nome para uso no workspace. O nome que você atribui ao conjunto de dados se torna o nome da pasta no workspace em que os arquivos contidos são extraídos.

  6. Depois de carregar o pacote compactado no Studio (clássico), verifique se o arquivo compactado está disponível na lista Conjuntos de Dados Salvos e conecte o conjunto de dados à porta de entrada do Pacote de Script .

    Todos os arquivos contidos no arquivo ZIP estão disponíveis para uso durante o tempo de execução: por exemplo, dados de exemplo, scripts ou novos pacotes Python.

    Se o arquivo compactado contiver bibliotecas que ainda não estão instaladas no Machine Learning Studio (clássico), você deverá instalar o pacote de biblioteca do Python como parte do script personalizado.

    Se houver uma estrutura de diretório presente, ela será preservada. No entanto, você deve alterar seu código para preparar o diretório src para o caminho.

Depurando código em Python

O módulo Executar Script Python funciona melhor quando o código foi fatorado como uma função com entradas e saídas claramente definidas, em vez de uma sequência de instruções executáveis vagamente relacionadas.

Este módulo Python não dá suporte a recursos como intellisense e depuração. Se o módulo falhar em runtime, você poderá exibir alguns detalhes de erro no log de saída do módulo. No entanto, o rastreamento completo da pilha do Python não está disponível. Portanto, recomendamos que os usuários desenvolvam e depurem seus scripts Python em um ambiente diferente e, em seguida, importem o código para o módulo.

Alguns problemas comuns que você pode procurar:

  • Verifique os tipos de dados no quadro de dados do azureml_mainqual você está voltando. Os erros provavelmente ocorrerão se as colunas contiverem tipos de dados diferentes de tipos numéricos e cadeias de caracteres.

  • Remova os valores de NA do conjunto de dados, usando dataframe.dropna() na exportação do script Python. Ao preparar seus dados, use o módulo Limpar Dados Ausentes .

  • Verifique se há erros de recuo e espaço em branco no código inserido. Se você receber o erro "IndentationError: esperado um bloco recuado", consulte estes recursos para obter diretrizes:

Limitações conhecidas

  • O runtime do Python é em área restrita e não permite o acesso à rede ou ao sistema de arquivos local de maneira persistente.

  • Todos os arquivos salvos localmente são isolados e excluídos após a conclusão do módulo. O código Python não pode acessar a maioria das pastas do computador em que é executado, com exceção do diretório atual e seus subdiretórios.

    Quando você fornece um arquivo compactado como recurso, os arquivos são copiados do workspace para o espaço de execução do experimento, descompactados e usados. Copiar e desempacotar recursos pode consumir memória.

  • O módulo pode gerar um único quadro de dados. Não é possível retornar objetos Arbitrários do Python, como modelos treinados, diretamente de volta ao runtime do Studio (clássico). No entanto, você pode gravar objetos no armazenamento ou no workspace. Outra opção é usar pickle para serializar vários objetos em uma matriz de bytes e, em seguida, retornar a matriz dentro de um quadro de dados.

Exemplos

Para obter exemplos de integração do script Python com experimentos do Studio (clássico), consulte estes recursos na Galeria de IA do Azure:

Confira também

Módulos de linguagem R