Pular para o conteúdo principal

Jenkins para MLOps: Um tutorial completo de CI/CD

Saiba como instalar o Jenkins no Windows, configurar e executar agentes e pipelines do Jenkins e criar projetos MLOps com pipelines do Jenkins, desde o treinamento do modelo até a veiculação do modelo.
Actualizado 2 de out. de 2024  · 25 min de leitura

Tutorial Jenkins para a imagem do recurso MLOps

Neste tutorial, você aprenderá a instalar e usar o Jenkins, bem como a criar agentes e pipelines e a executá-los. 

Especificamente, nós iremos:

  1. Configure o Jenkins para funcionar sem problemas em uma máquina Windows. Também fornecemos links para a instalação em outros sistemas operacionais.
  2. Criar e executar um agente no Jenkins para executar todos os nossos pipelines.
  3. Crie e execute um pipeline simples para demonstrar a automação de várias etapas do projeto.
  4. Desenvolva um projeto de MLOps usando um pipeline do Jenkins para ingerir dados, processá-los, treinar o modelo, avaliar o modelo e servir o modelo.

Se você precisa aprimorar seus conhecimentos, faça um curso curto e direto de Conceitos de MLOps para saber como transformar modelos de aprendizado de máquina de notebooks Jupyter em modelos funcionais em produção que geram valor comercial real.

O que é Jenkins?

O Jenkins é um servidor de automação de código aberto que desempenha uma função importante no processo de desenvolvimento de aprendizado de máquina, facilitando a integração contínua (CI) e a implantação contínua (CD).

Escrito em Java, o Jenkins ajuda a automatizar o processamento de dados, o treinamento, a avaliação e a implantação de projetos de aprendizado de máquina, tornando-o uma ferramenta essencial para as práticas de MLOps.

Recursos do Jenkins:

  • Fácil instalação: O Jenkins pode ser facilmente instalado no Windows, Linux, macOS, Docker e Kubernetes. 
  • Facilidade de instalação e configuração: O Jenkins pode ser facilmente instalado e configurado por meio de sua interface da Web, que inclui verificações de erros em tempo real e ajuda integrada.
  • Amplo ecossistema de plug-ins: Com centenas de plug-ins disponíveis, o Jenkins se integra a praticamente todas as ferramentas de terceiros na cadeia de ferramentas de CI/CD. Em termos de funcionalidade e recursos, ele é semelhante ao GitHub Actions.
  • Carga de trabalho distribuída: O Jenkins pode distribuir o trabalho em várias máquinas usando agentes locais e de nuvem, ajudando a conduzir testes, treinamentos e implementações em várias plataformas com mais rapidez.

A automação de tarefas usando o Jenkins é apenas uma parte do ecossistema de MLOps. Você pode saber mais sobre outras tarefas lendo o blog 25 Top MLOps Tools You Need to Know in 2024. Ele consiste em ferramentas para rastreamento de experimentos, gerenciamento de metadados de modelos, orquestração de fluxo de trabalho, controle de versão de dados e pipeline, implantação de modelos e monitoramento de serviços e modelos na produção.

Desenvolva habilidades de MLOps hoje mesmo

Comece do zero e adquira habilidades de MLOps para construir uma carreira.
Comece a aprender de graça

Configurando o Jenkins no Windows 11

Você pode instalar facilmente o Jenkins no Linux e no macOS. No entanto, a instalação no Windows requer várias etapas. Essas etapas incluem a instalação do Java Development Kit, a configuração da política de segurança local, a instalação do Jenkins com um usuário de domínio e a inicialização do servidor Jenkins.

Instalando o OpenJDK

Vamos começar instalando o Java. Você precisa acessar o site da Adoptium e fazer o download da versão mais recente do LTS para o Windows 11.

Por que precisamos instalar o OpenJDK? O Jenkins é um aplicativo baseado em Java que requer um Java Runtime Environment (JRE) ou Java Development Kit (JDK) para ser executado.

Baixando o OpenJDK para Windows

Fonte da imagem: Adoção

Instale o OpenJDK com os valores padrão, exceto que você precisa marcar a opção "Set or override JAVA_HOME variable" (Definir ou substituir a variável JAVA_HOME).

Instalando o OpenJDK no Windows

Após a conclusão da instalação, podemos verificar se ela foi instalada corretamente digitando java -version na janela do terminal:

Testando o OpenJDK em um terminal do Windows

Configuração de uma conta de usuário para "Fazer logon como serviço"

Para instalar o Jenkins, você precisa modificar a "Política de segurança local" para permitir o acesso de login do usuário ao instalador. Para fazer isso, pressione as teclas Win + R no teclado, digite "secpol.msc" e pressione Enter. Em seguida, navegue até "Políticas locais" > "Atribuições de direitos de usuário" > "Fazer logon como um serviço".

Configurando a política de segurança local para o Jenkins

Seremos redirecionados para uma nova janela, onde digitaremos nosso nome de usuário do Windows e clicaremos no botão "Check Names" (Verificar nomes). Depois disso, pressione o botão "OK" e saia da janela "Local Security Policy".

Verificação do usuário em Fazer logon como um serviço

Instalando o Jenkins

Acesse o site jenkins.io e baixe o pacote do Windows Installer para o Jenkins.  

Baixando o Jenkins para Windows

Fonte da imagem: jenkins.io

Quando chegarmos à janela que diz "Run service as a local or domain user" (Executar serviço como um usuário local ou de domínio), digite seu nome de usuário e senha do Windows e pressione o botão "Test Credentials" (Testar credenciais). Se for aprovado, clique no botão "Next" (Avançar).

Fazendo login no Jenkins

Mantenha tudo o mais como padrão e conclua a instalação. Pode levar alguns minutos para você configurar.

Finalização da instalação do Jenkins

Iniciando o servidor Jenkins

Iniciar o servidor Jenkins é simples. Tudo o que você precisa fazer é clicar na tecla Windows e procurar por "Serviços". Na janela Serviços, procure por Jenkins e clique no botão de reprodução na parte superior.

Iniciando o servidor Jenkins

Por padrão, o Jenkins é executado em https://localhost:8080/. Basta colar esse URL em um navegador para acessar o painel. Para entrar no painel do Jenkins, você precisa digitar a senha de administrador.

Inserir a senha do administrador para desbloquear o Jenkins

Para obter a senha padrão do administrador, navegue até o diretório Jenkins, localize e abra o arquivo Jenkins.err.log.

Diretório de arquivos Jenkins

Role o arquivo de erro do Jenkins para baixo para encontrar a senha gerada. Copie-a e cole-a na caixa de entrada da senha do administrador.

Arquivo de registro de erros do Jenkins

Depois disso, o servidor levará alguns minutos para instalar as ferramentas e extensões necessárias.

Primeiros passos com o servidor Jenkins

Quando a configuração do servidor estiver concluída, ele solicitará que você crie um novo usuário. Insira todas as informações necessárias e clique no botão "Save and Continue" (Salvar e continuar).

Criando o primeiro usuário administrador no Jenkins

Seremos direcionados ao painel, onde criaremos, visualizaremos e executaremos vários pipelines do Jenkins. 

Janela de boas-vindas do painel do Jenkins

Criando um agente no Jenkins

Os agentes, também conhecidos como nós, são máquinas configuradas para executar trabalhos despachados pelo servidor mestre do Jenkins. Esses agentes fornecem o ambiente e a computação para executar pipelines. Um agente do Windows 11 está disponível por padrão, mas sempre podemos criar nosso próprio agente com opções personalizadas.

Configuração de agentes

No painel principal, clique na opção "Manage Jenkins" (Gerenciar Jenkins) e, em seguida, clique no botão "Set up agent" (Configurar agente), conforme mostrado abaixo. Como alternativa, você pode clicar no botão "Nodes" (Nós) para criar e gerenciar agentes.

Configuração de agentes Jenkins

Digite o nome do agente e selecione o tipo "Permanent Agent" (Agente permanente). 

Configuração dos nós do painel do Jenkins

Certifique-se de que você forneça um diretório para o agente no qual todos os arquivos e logs serão salvos. Adicione um rótulo e mantenha o restante das configurações como padrão. Ao criar o pipeline, usaremos o rótulo do agente para executar as tarefas.

Inserção de detalhes para configurar um agente Jenkins

Executando o agente localmente

Quando o botão "Save" (Salvar) for pressionado, será exibido um prompt que nos instruirá a copiar e colar o comando apropriado no terminal, de acordo com o nosso sistema operacional.

curl.exe -sO http://localhost:8080/jnlpJars/agent.jar & java -jar agent.jar -url http://localhost:8080/ -secret 1a30c62de92630dbcc1e2f19aaf482057e6170ced6835355447bc4ba4eefb76a -name "DC Agent 1" -webSocket -workDir "/home/Jenkins"

Depois de colar e executar o comando no terminal, você verá uma mensagem de sucesso indicando que o nosso agente, no meu caso, DC Agent 1, está sendo executado em segundo plano.

Iniciando o servidor de agentes Jenkins no terminal

Para verificar se o agente está em execução e pronto para executar um trabalho, navegue até o painel do Jenkins, clique em "Manage Jenkins" (Gerenciar Jenkins) e, em seguida, clique no botão "Nodes" (Nós) para visualizar o status do agente.

Verificar se o servidor de agentes Jenkins foi iniciado

Criando um pipeline simples do Jenkins 

Um pipeline Jenkins é uma série de etapas automatizadas que ajudam no treinamento, na avaliação e na implementação de modelos. Ele define esses processos usando um script de programação simples, facilitando o gerenciamento e a automação dos fluxos de trabalho do projeto.

Nesta seção, criaremos um exemplo de pipeline do Jenkins e usaremos o agente recém-criado como executor do pipeline.

Configuração de um pipeline Jenkins 

No painel, clique no botão "Novo item", digite o nome do item, selecione a opção "Pipeline" e clique em "OK".

Criando um pipeline do Jenkins

Depois disso, um prompt solicitará que você configure o pipeline. Role para baixo até a seção "Pipeline", onde precisamos escrever o script do pipeline do Jenkins.

Script do pipeline Jenkins

No script do pipeline do Jenkins, começamos configurando o ambiente e o agente. No nosso caso, estamos configurando o agent fornecendo a ele o rótulo do agente que definimos anteriormente.

Depois disso, escreveremos uma seção stages na qual todas as várias etapas do pipeline (Build, Test, Deploy) serão adicionadas. No nosso caso, estamos apenas imprimindo usando o comando echo e executando os comandos do terminal usando o comando bat.

  • bat é usado para o Windows 11
  • sh é para Linux

É isso aí. É simples assim. Aqui está o código do script:

pipeline {
    agent {
        label 'MLAgent' // Ensure this label matches your Windows 11 agent
    }

    stages {
        stage('Build') {
            steps {
                echo 'Building...'
                // Add your Windows build commands here
                bat 'echo Running build commands'
            }
        }
        stage('Test') {
            steps {
                echo 'Testing...'
                // Add your Windows test commands here
                bat 'echo Running test commands'
            }
        }
        stage('Deploy') {
            steps {
                echo 'Deploying...'
                // Add your Windows deploy commands here
                bat 'echo Running deploy commands'
            }
        }
    }
}

Depois de adicionar o script, clique nos botões "Apply" (Aplicar) e "Save" (Salvar).

Executando o pipeline do Jenkins

Clique no botão "Build Now" para testar e executar o pipeline. Para ver seu status, clique no botão "Status". 

Criando o pipeline do Jenkins

Após a conclusão da execução, podemos visualizar os registros clicando na execução específica no menu "Status". 

Clique no link "Last build (#2)" e, em seguida, clique no botão "Console Output". Isso nos levará à janela de saída do console, onde podemos encontrar os logs e os resultados do pipeline.

Console de saída do pipeline Jenkins

Você pode até clicar no botão "Console do pipeline" para visualizar detalhadamente cada etapa do pipeline. Isso inclui a saída, o tempo que levou para iniciar e terminar, os comandos do pipeline e os registros. 

Console do pipeline Jenkins

Depois de concluir a configuração da instalação do Jenkins, criar e executar pipelines foi fácil e rápido. Levei menos de uma hora para entender o script e como criar o meu próprio. Usarei o Jenkins em vez do GitHub Actions porque ele me oferece mais flexibilidade.

Author's opinion

Criando um pipeline Jenkins para um projeto MLOPs

Após a introdução inicial ao Jenkins, é hora de levarmos a sério e trabalharmos no projeto MLOps. 

Criaremos dois pipelines: O primeiro pipeline será o CI, que carregará e processará os dados, treinará o modelo, avaliará o modelo e, em seguida, testará o servidor do modelo. Depois disso, ele iniciará o pipeline de CD, iniciando o servidor de inferência de modelo.

Para entender o processo em detalhes, faça o curso CI/CD para aprendizado de máquina, que ensina você a simplificar os processos de desenvolvimento de aprendizado de máquina.

Arquivos de projeto

Como em qualquer projeto, precisamos criar os arquivos do projeto, incluindo o carregamento de dados, o treinamento do modelo, a avaliação do modelo e os arquivos Python de serviço do modelo. Também precisamos de um arquivo requirements .txt para instalar os pacotes Python necessários.

data_loading.py:

Neste script, carregaremos um conjunto de dados do scikit-learn chamado Wine dataset e o converteremos em um DataFrame do pandas. Em seguida, dividiremos o conjunto de dados em conjuntos de treinamento e de teste. Por fim, salvaremos os dados processados como um arquivo pickle.

from sklearn.datasets import load_wine
from sklearn.model_selection import train_test_split
import pandas as pd
import joblib

def load_data():
    # Load the wine dataset
    wine = load_wine(as_frame=True)
    data = pd.DataFrame(data=wine.data, columns=wine.feature_names)
    data["target"] = wine.target
    print(data.head())
    return data

def split_data(data, target_column="target"):
    X = data.drop(columns=[target_column])
    y = data[target_column]
    X_train, X_test, y_train, y_test = train_test_split(
        X, y, test_size=0.2, random_state=42
    )
    return X_train, X_test, y_train, y_test

def save_preprocessed_data(X_train, X_test, y_train, y_test, file_path):
    joblib.dump((X_train, X_test, y_train, y_test), file_path)


if __name__ == "__main__":
    data = load_data()
    X_train, X_test, y_train, y_test = split_data(data)
    save_preprocessed_data(X_train, X_test, y_train, y_test, "preprocessed_data.pkl")

model_training.py:

Nesse arquivo, carregaremos os dados processados, treinaremos um classificador de floresta aleatória e salvaremos o modelo como um arquivo pickle.

from sklearn.ensemble import RandomForestClassifier
import joblib

def load_preprocessed_data(file_path):
    return joblib.load(file_path)

def train_model(X_train, y_train):
    model = RandomForestClassifier(n_estimators=100, random_state=42)
    model.fit(X_train, y_train)
    return model

def save_model(model, file_path):
    joblib.dump(model, file_path)


if __name__ == "__main__":
    X_train, X_test, y_train, y_test = load_preprocessed_data("preprocessed_data.pkl")

    model = train_model(X_train, y_train)
    save_model(model, "model.pkl")

model_evaluation.py:

Para avaliar o modelo, carregaremos o modelo e o conjunto de dados pré-processado, geraremos um relatório de classificação e imprimiremos a pontuação de precisão.

import joblib
from sklearn.metrics import accuracy_score, classification_report

def load_model(file_path):
    return joblib.load(file_path)

def load_preprocessed_data(file_path):
    return joblib.load(file_path)

def evaluate_model(model, X_test, y_test):
    predictions = model.predict(X_test)
    accuracy = accuracy_score(y_test, predictions)
    report = classification_report(y_test, predictions)
    return accuracy, report

if __name__ == "__main__":
    X_train, X_test, y_train, y_test = load_preprocessed_data("preprocessed_data.pkl")

    model = load_model("model.pkl")
    accuracy, report = evaluate_model(model, X_test, y_test)
    print(f"Model Accuracy: {accuracy}")
    print(f"Classification Report:\n{report}")

model_serving.py:

Para servir o modelo, usaremos o FastAPI para criar uma API REST em que os usuários possam inserir recursos e gerar previsões. Normalmente, os rótulos são genéricos. Para tornar as coisas mais interessantes, mudaremos as categorias de vinho para Verdante, Rubresco e Floralis.

Quando executamos esse arquivo, iniciamos o servidor FastAPI, que pode ser acessado por meio do comando curl ou usando a biblioteca requests em Python.

from typing import List

import joblib
import uvicorn
from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()

# Define the labels corresponding to the target classes
LABELS = [
    "Verdante",  # A vibrant and fresh wine, inspired by its balanced acidity and crisp flavors.
    "Rubresco",  # A rich and robust wine, named for its deep, ruby color and bold taste profile.
    "Floralis",  # A fragrant and elegant wine, known for its floral notes and smooth finish.
]

class Features(BaseModel):
    features: List[float]

def load_model(file_path):
    return joblib.load(file_path)

model = load_model("model.pkl")

@app.post("/predict")
def predict(features: Features):
    # Get the numerical prediction
    prediction_index = model.predict([features.features])[0]
    # Map the numerical prediction to the label
    prediction_label = LABELS[prediction_index]
    return {"prediction": prediction_label}

if __name__ == "__main__":
    uvicorn.run(app, host="127.0.0.1", port=9000)

requisitos.txt:

Esse arquivo nos ajudará a baixar e instalar todos os pacotes necessários para executar os arquivos Python acima.

scikit-learn
pandas
fastapi
uvicorn

Pipeline principal do MLOps (CI) 

Agora, criaremos pipelines Jenkins de integração contínua. Assim como criamos um pipeline simples, criaremos um "MLOps-pipe" e escreveremos o script que abrange tudo, desde o processamento de dados até a avaliação do modelo.

Script do pipeline Jenkins

O script do pipeline MLOps consiste em:

  1. Inicializando o agent com o label "MLAgent".
  2. Definir o diretório do espaço de trabalho onde todos os nossos arquivos Python estão localizados.
  3. Criar estágios para cada etapa do pipeline de aprendizado de máquina:
    1. Instalação de todos os pacotes Python necessários (Initialize).
    2. Processamento do conjunto de dados carregado (Load and Preprocess Data).
    3. Treinamento do modelo em um conjunto de dados processado (Train Model).
    4. Avaliar o modelo e gerar o relatório (Evaluate Model).
    5. Testar o servidor modelo usando o comando curl (Test Serve Model ).
  4. Depois de passar no teste do servidor, outro pipeline será acionado para implantar o servidor. Isso será abordado na próxima seção.
  5. No nó post, processaremos os dados e os salvaremos como um artefato, fornecendo a ele a extensão de arquivo pickle.

Observação: O comando start /B abre uma nova janela de terminal em segundo plano e executa o script de serviço de modelo. Além disso, esse script de pipeline do Jenkins só funcionará no Windows, e você precisará alterar os comandos para o Linux ou outros sistemas operacionais.

pipeline {
    agent { 
        node { 
            label 'MLAgent' 
            customWorkspace 'C:\\Repository\\GitHub\\MLOps-Jenkins' 
        } 
    }

    stages {
        stage('Initialize') {
            steps {
                script {
                    // Install necessary Python packages
                    bat "pip install -r requirements.txt"
                }
            }
        }

        stage('Load and Preprocess Data') {
            steps {
                script {
                    // Run data loading script
                    bat "python data_loading.py"
                }
            }
        }

        stage('Train Model') {
            steps {
                script {
                    // Run model training script
                    bat "python model_training.py"
                }
            }
        }

        stage('Evaluate Model') {
            steps {
                script {
                    // Run model evaluation script
                    bat "python model_evaluation.py"
                }
            }
        }

        stage('Serve Model') {
            steps {
                script {
                    // Start FastAPI server in the background
                    bat 'start /B python model_serving.py'
                    // Wait for the server to start
                    sleep time: 10, unit: 'SECONDS'
                }
            }
        }

        stage('Test Serve Model') {
            steps {
                script {
                    // Test the server with sample values
                    bat '''
                        curl -X POST "http://127.0.0.1:9000/predict" ^
                        -H "Content-Type: application/json" ^
                        -d "{\\"features\\": [13.2, 2.77, 2.51, 18.5, 103.0, 1.15, 2.61, 0.26, 1.46, 3.0, 1.05, 3.33, 820.0]}"
                    '''
                }
            }
        }

        stage('Deploy Model') {
            steps {
                script {
                    // Trigger another Jenkins job for model serving
                    build job: 'ModelServingPipeline', wait: false
                }
            }
        }
    }

    post {
        always {
            archiveArtifacts artifacts: '**.pkl', fingerprint: true
            echo 'Pipeline execution complete.'
        }
    }
}

Pipeline de serviço de modelo (CD) 

Agora, criaremos um pipeline de implantação contínua para implantar e executar o servidor localmente.

O script do pipeline é simples. Começamos definindo o agente e alterando o diretório de trabalho para o nosso projeto. Depois disso, executamos o servidor indefinidamente. 

Observação: Não é recomendável executar um servidor no Jenkins indefinidamente, pois os pipelines devem ter um início e um fim definidos. Para este exemplo, presumiremos que implantamos o aplicativo, mas, na prática, é melhor integrar o Docker e executar o aplicativo em um servidor Docker.

Se você estiver interessado em aprender a pensar como um engenheiro de aprendizado de máquina, considere fazer o curso Developing Machine Learning Models for Production with an MLOps Mindset, que permitirá que você treine, documente, mantenha e dimensione seus modelos de aprendizado de máquina em todo o seu potencial.

pipeline {
    agent { 
        node { 
            label 'MLAgent' 
            customWorkspace 'C:/Repository/GitHub/MLOps-Jenkins/' 
        } 
    }

    stages {
        stage('Start FastAPI Server') {
            steps {
                script {
                    // Start the FastAPI server
                    bat 'python model_serving.py'
                }
            }
        }
    }

}

Executar os pipelines de CI/CD

Vá para o pipeline "MLOps-pipe" e clique no botão "Build Now" para iniciar o pipeline de CI/CD.

Quando o pipeline é executado com sucesso, ele gera dois artefatos: um para o modelo e outro para o conjunto de dados processados.

Status do pipeline Jenkins

Clique no botão "Stages" (Estágios) no painel do Jenkins para visualizar o pipeline e ver todas as etapas.

Estágios do pipeline Jenkins

Para visualizar os registros detalhados de cada etapa, verifique o menu "Pipeline Console".

Console do pipeline Jenkins

Também podemos verificar o "ModelServingPipeline" para verificar se o nosso servidor está sendo executado no URL local http://127.0.0.1:9000

Console de saída do pipeline Jenkins

Experimentando o aplicativo FastAPI no navegador

A FastAPI vem com a interface do usuário Swagger, que pode ser acessada adicionando /docs ao URL local: http://127.0.0.1:9000/docs.

A interface do usuário do Swagger nos permite testar o aplicativo FastAPI no navegador. É simples, e podemos ver que nosso servidor modelo está funcionando bem. Os valores de amostra previstos sugerem que o tipo de vinho é Rubresco.

Swager UI para aplicativos de ML

Certifique-se sempre de desligar o servidor de modelos depois que você terminar de fazer os experimentos. Você pode fazer isso acessando o menu "Status" no painel do Jenkins e, em seguida, clicando no botão de cruz, conforme mostrado abaixo:

Status de execução do pipeline Jenkins

Todo o código, os conjuntos de dados, os modelos e os metarquivos deste tutorial estão disponíveis no repositório do GitHub para você experimentarvocê: kingabzpro/MLOps-with-Jenkins.

Conclusão

O Jenkins é um ótimo servidor de automação para todos os tipos de tarefas de MLOps. Ele se destaca como uma excelente alternativa ao GitHub Actions, oferecendo mais recursos, maior controle e privacidade aprimorada. 

Um dos aspectos mais atraentes do Jenkins é sua simplicidade na criação e execução de pipelines, tornando-o acessível tanto para iniciantes quanto para usuários experientes.

Se você estiver interessado em explorar recursos semelhantes usando o GitHub Actions, não perca o tutorial A Beginner's Guide to CI/CD for Machine Learning. Para aqueles que desejam aprofundar seus conhecimentos sobre MLOps, o curso Fully Automated MLOps é um recurso fantástico. Ele oferece insights abrangentes sobre a arquitetura de MLOps, técnicas de CI/CD/CM/CT e padrões de automação para implantar sistemas de ML que podem fornecer valor de forma consistente ao longo do tempo.

Desenvolver habilidades de aprendizado de máquina

Eleve suas habilidades de aprendizado de máquina ao nível de produção.

Abid Ali Awan's photo
Author
Abid Ali Awan
LinkedIn
Twitter

Sou um cientista de dados certificado que gosta de criar aplicativos de aprendizado de máquina e escrever blogs sobre ciência de dados. No momento, estou me concentrando na criação e edição de conteúdo e no trabalho com modelos de linguagem de grande porte.

Temas

Saiba mais sobre MLOps com estes cursos!

Certificação disponível

curso

Conceitos de MLOps

2 hr
18.2K
Descubra como os MLOps podem levar modelos de aprendizado de máquina de notebooks locais para modelos funcionais em produção que geram valor comercial real.
Ver DetalhesRight Arrow
Iniciar curso
Ver maisRight Arrow
Relacionado

blog

Jupyter e R Markdown: Notebooks com R

Saiba como instalar, executar e usar o R com o Jupyter Notebook e o R Notebook do RStudio, incluindo dicas e alternativas
Karlijn Willems's photo

Karlijn Willems

20 min

tutorial

O guia completo para machine learning na AWS com o Amazon SageMaker

Este tutorial abrangente ensina você a usar o AWS SageMaker para criar, treinar e implantar modelos de machine learning. Nós guiamos você por todo o fluxo de trabalho, desde a configuração do seu ambiente AWS e a criação de uma instância de notebook do SageMaker até a preparação de dados, modelos de treinamento e sua implementação como endpoints.
Bex Tuychiev's photo

Bex Tuychiev

25 min

tutorial

Tutorial de instalação do Anaconda no Windows

Este tutorial demonstrará como você pode instalar o Anaconda, um poderoso gerenciador de pacotes, no Microsoft Windows.
DataCamp Team's photo

DataCamp Team

5 min

tutorial

Tutorial do GitHub e do Git para iniciantes

Um tutorial para iniciantes que demonstra como funciona o controle de versão do Git e por que ele é crucial para projetos de ciência de dados.
Abid Ali Awan's photo

Abid Ali Awan

17 min

tutorial

Tutorial de introdução ao JupyterLab

Neste artigo, apresentaremos a você o JupyterLab, um dos IDEs mais populares para ciência de dados.
Javier Canales Luna's photo

Javier Canales Luna

7 min

Ver maisVer mais