Marcus Vinicius Zerbini Canhaço commited on
Commit
b3cb0d8
·
1 Parent(s): 00618eb

feat: atualização do detector com otimizações para GPU T4

Browse files
Files changed (3) hide show
  1. .gradio/certificate.pem +31 -0
  2. Dockerfile +7 -3
  3. deploy.sh +104 -0
.gradio/certificate.pem ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ -----BEGIN CERTIFICATE-----
2
+ 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
31
+ -----END CERTIFICATE-----
Dockerfile CHANGED
@@ -30,9 +30,11 @@ RUN python3.10 -m venv $VIRTUAL_ENV
30
  ENV PATH="$VIRTUAL_ENV/bin:$PATH"
31
 
32
  # Instalar dependências Python otimizadas para GPU
33
- RUN pip install --no-cache-dir -U pip && \
34
  pip install --no-cache-dir torch torchvision --extra-index-url https://download.pytorch.org/whl/cu121 && \
35
- pip install --no-cache-dir -r requirements.txt
 
 
36
 
37
  # Criar diretório de vídeos e cache
38
  RUN mkdir -p /code/videos /code/.cache/huggingface /code/.cache/torch && \
@@ -52,7 +54,9 @@ ENV HOST=0.0.0.0 \
52
  HUGGINGFACE_HUB_CACHE=/code/.cache/huggingface \
53
  HF_HOME=/code/.cache/huggingface \
54
  TORCH_CUDA_ARCH_LIST="7.5" \
55
- MAX_WORKERS=2
 
 
56
 
57
  # Copiar arquivos do projeto
58
  COPY . .
 
30
  ENV PATH="$VIRTUAL_ENV/bin:$PATH"
31
 
32
  # Instalar dependências Python otimizadas para GPU
33
+ RUN pip install --no-cache-dir -U pip setuptools wheel && \
34
  pip install --no-cache-dir torch torchvision --extra-index-url https://download.pytorch.org/whl/cu121 && \
35
+ pip install --no-cache-dir -r requirements.txt && \
36
+ pip install --no-cache-dir --upgrade "tokenizers>=0.15.0" && \
37
+ pip install --no-cache-dir --upgrade "git+https://github.com/huggingface/transformers.git"
38
 
39
  # Criar diretório de vídeos e cache
40
  RUN mkdir -p /code/videos /code/.cache/huggingface /code/.cache/torch && \
 
54
  HUGGINGFACE_HUB_CACHE=/code/.cache/huggingface \
55
  HF_HOME=/code/.cache/huggingface \
56
  TORCH_CUDA_ARCH_LIST="7.5" \
57
+ MAX_WORKERS=2 \
58
+ TRANSFORMERS_OFFLINE=0 \
59
+ TRANSFORMERS_VERBOSITY=info
60
 
61
  # Copiar arquivos do projeto
62
  COPY . .
deploy.sh ADDED
@@ -0,0 +1,104 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/bin/bash
2
+
3
+ echo "🚀 Iniciando processo de deploy..."
4
+
5
+
6
+
7
+ # Verificar e criar diretórios necessários
8
+ echo "📁 Verificando estrutura de diretórios..."
9
+ mkdir -p videos/seguro videos/risco_detectado
10
+
11
+ # Solicitar mensagem do commit
12
+ echo "📝 Digite a mensagem do commit (ou pressione Enter para mensagem padrão):"
13
+ read commit_message
14
+
15
+ # Se nenhuma mensagem foi fornecida, usar mensagem padrão
16
+ if [ -z "$commit_message" ]; then
17
+ commit_message="feat: atualização do detector com otimizações para GPU T4"
18
+ fi
19
+
20
+ # Deploy para GitHub
21
+ echo "🚀 Preparando deploy para GitHub..."
22
+
23
+ # Salvar estado atual dos vídeos
24
+ echo "📦 Salvando estado dos vídeos..."
25
+ git stash push videos/
26
+
27
+ # Adicionar alterações exceto vídeos
28
+ echo "📦 Adicionando arquivos para GitHub..."
29
+ git add .
30
+
31
+ # Verificar se há alterações para commitar
32
+ if [[ -n $(git status -s) ]]; then
33
+ echo "📝 Existem alterações para commitar no GitHub"
34
+
35
+ # Fazer commit
36
+ git commit -m "$commit_message"
37
+
38
+ # Push para GitHub
39
+ echo "🚀 Enviando para GitHub..."
40
+ git push origin main
41
+
42
+ if [ $? -eq 0 ]; then
43
+ echo "✅ Deploy para GitHub concluído com sucesso!"
44
+ else
45
+ echo "❌ Erro durante o deploy para GitHub"
46
+ git stash pop # Restaurar vídeos
47
+ exit 1
48
+ fi
49
+ else
50
+ echo "✨ Workspace limpo, nenhuma alteração para GitHub"
51
+ fi
52
+
53
+ # Restaurar vídeos
54
+ echo "📦 Restaurando vídeos..."
55
+ git stash pop
56
+
57
+ # Deploy para Hugging Face
58
+ echo "🚀 Preparando deploy para Hugging Face..."
59
+
60
+ # Verificar arquivos grandes
61
+ echo "🔍 Verificando arquivos grandes..."
62
+ find . -size +100M -not -path "*.git*" | while read file; do
63
+ echo "⚠️ Arquivo grande encontrado: $file"
64
+ echo "Verificando se está configurado no Git LFS..."
65
+ if ! git check-attr filter "$file" | grep -q "lfs"; then
66
+ echo "❌ $file não está configurado no Git LFS!"
67
+ exit 1
68
+ fi
69
+ done
70
+
71
+ # Adicionar todos os arquivos incluindo vídeos
72
+ echo "📦 Adicionando todos os arquivos incluindo vídeos..."
73
+ git add --all
74
+
75
+ # Verificar se há alterações para o Hugging Face
76
+ if [[ -n $(git status -s) ]]; then
77
+ echo "📝 Existem alterações para commitar no Hugging Face"
78
+
79
+ # Fazer commit
80
+ git commit -m "$commit_message"
81
+
82
+
83
+ echo "🚀 Enviando para Hugging Face Space..."
84
+ git push space main
85
+
86
+ if [ $? -eq 0 ]; then
87
+ echo "✅ Deploy para Hugging Face concluído com sucesso!"
88
+ echo "🌐 Seu app estará disponível em alguns minutos em:"
89
+ echo " https://huggingface.co/spaces/marcuscanhaco/weapon-detection-app"
90
+ echo ""
91
+ echo "⚠️ Lembre-se de verificar no Hugging Face Space se:"
92
+ echo " 1. O Space está configurado para usar GPU T4"
93
+ echo " 2. As variáveis de ambiente estão configuradas corretamente:"
94
+ echo " - HUGGING_FACE_TOKEN"
95
+ echo " - NOTIFICATION_EMAIL"
96
+ echo " - SENDGRID_API_KEY"
97
+ echo " 3. Os requisitos de memória estão adequados"
98
+ else
99
+ echo "❌ Erro durante o deploy para Hugging Face"
100
+ exit 1
101
+ fi
102
+ else
103
+ echo "✨ Workspace limpo, nenhuma alteração para Hugging Face"
104
+ fi