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)
```bash
# 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:
```bash
#!/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:
```bash
# 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
```bash
# 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
```bash
pip install google-cloud-compute
```
### Passo 2: Autenticar
```bash
# Download credentials JSON do console
# https://console.cloud.google.com/apis/credentials
export GOOGLE_APPLICATION_CREDENTIALS="/path/to/credentials.json"
```
### Passo 3: Rodar script
```bash
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
```bash
# 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.