ensemble-tts-annotation / scripts /test /launch_gcp_manual.md
marcosremar
Add GCP testing options and Python API launcher
83f9601

Manual GCP Spot Instance Launch

Como você não tem gcloud instalado localmente, aqui estão as opções:

Opção 1: Instalar gcloud CLI (Recomendado)

# macOS
brew install google-cloud-sdk

# Ou download direto
curl https://sdk.cloud.google.com | bash
exec -l $SHELL
gcloud init

# Depois rodar o script
bash scripts/test/launch_gcp_spot.sh

Opção 2: Usar GCP Console (Interface Web)

Passo 1: Acesse o Console

https://console.cloud.google.com/compute/instances

Passo 2: Criar Instância Spot

  1. Click "CREATE INSTANCE"
  2. Configure:
    • Nome: ensemble-test
    • Região: us-central1 (Iowa) - Mais barato
    • Zona: us-central1-a
    • Tipo de máquina: e2-medium (2 vCPU, 4GB RAM)
    • Modelo de provisionamento: ✅ Spot (Preemptible)
    • Disco de inicialização:
      • OS: Ubuntu 22.04 LTS
      • Tamanho: 20 GB
    • Firewall: ✅ Permitir tráfego HTTP/HTTPS (opcional)

Passo 3: Script de Inicialização

Na seção "Management, security, disks, networking, sole tenancy", vá em Automation e cole este script:

#!/bin/bash

# Update system
apt-get update
apt-get install -y python3-pip git

# Install dependencies
pip3 install --upgrade pip

# Clone repository
cd /home
git clone https://huggingface.co/marcosremar2/ensemble-tts-annotation
cd ensemble-tts-annotation

# Install requirements (CPU-only torch)
pip3 install -q torch --index-url https://download.pytorch.org/whl/cpu
pip3 install -q transformers datasets librosa soundfile numpy pandas tqdm scikit-learn

# Run test
python3 test_local.py > /tmp/test-results.log 2>&1

echo "✅ Test completed. Results in /tmp/test-results.log"
echo "To see results: cat /tmp/test-results.log"

Passo 4: Criar e Aguardar

  1. Click CREATE
  2. Aguarde ~2 minutos para inicialização
  3. Click no botão SSH na lista de instâncias
  4. No terminal SSH, rode:
# Ver status do setup
tail -f /var/log/syslog | grep startup-script

# Ver resultado do teste
cat /tmp/test-results.log

# Ou rodar teste manualmente
cd /home/ensemble-tts-annotation
python3 test_local.py

Passo 5: Deletar Instância

⚠️ IMPORTANTE: Não esqueça de deletar para não gerar custos!

  1. Volte para Console → Compute Engine → VM Instances
  2. Selecione ensemble-test
  3. Click DELETE

Custo estimado: ~$0.003 se deletar em 20 minutos


Opção 3: Usar Google Cloud Shell (Grátis!)

Google Cloud Shell já tem gcloud instalado e é GRÁTIS!

Passo 1: Abrir Cloud Shell

https://shell.cloud.google.com/

Passo 2: Rodar comandos

# Clone o script
curl -O https://huggingface.co/marcosremar2/ensemble-tts-annotation/raw/main/scripts/test/launch_gcp_spot.sh

# Tornar executável
chmod +x launch_gcp_spot.sh

# Rodar
./launch_gcp_spot.sh

O script vai:

  1. ✅ Buscar a instância mais barata
  2. ✅ Criar instância spot (e2-medium)
  3. ✅ Instalar tudo automaticamente
  4. ✅ Rodar os testes
  5. ✅ Mostrar comandos para acessar e deletar

Opção 4: Usar Script Python (Sem gcloud CLI)

Vou criar um script Python que usa a API do GCP diretamente...

Passo 1: Instalar biblioteca

pip install google-cloud-compute

Passo 2: Autenticar

# Download credentials JSON do console
# https://console.cloud.google.com/apis/credentials

export GOOGLE_APPLICATION_CREDENTIALS="/path/to/credentials.json"

Passo 3: Rodar script

python scripts/test/launch_gcp_python.py

Resumo de Custos

Opção Custo Facilidade
Cloud Shell $0 (grátis!) ⭐⭐⭐⭐⭐ Mais fácil
Console Web ~$0.003 ⭐⭐⭐⭐ Fácil
gcloud CLI local ~$0.003 ⭐⭐⭐ Médio
Python API ~$0.003 ⭐⭐ Avançado

Recomendação

Melhor opção: Use Google Cloud Shell (Opção 3)

  • ✅ Grátis
  • ✅ Já tem gcloud instalado
  • ✅ Não precisa instalar nada local
  • ✅ Script funciona direto
# 1. Abrir https://shell.cloud.google.com/
# 2. Rodar:
curl -O https://huggingface.co/marcosremar2/ensemble-tts-annotation/raw/main/scripts/test/launch_gcp_spot.sh
chmod +x launch_gcp_spot.sh
./launch_gcp_spot.sh

Qual opção você prefere? Posso criar o script Python (Opção 4) se preferir não instalar gcloud.