Este repositório contém o pipeline completo de benchmark para classificar arte baseada em texto (ASCII Art) nas categorias NSFW (Not Safe For Work) ou SFW (Safe For Work). O projeto avalia e compara abordagens de Machine Learning clássico, arquiteturas de Deep Learning de Visão Computacional 2D e Transformers de Texto.
├── data/ # Dados base em formato .csv
├── prepare_data/ # Scripts de pipeline e tratamento dos dados (geração de splits, imagens e textos)
├── finetunings/ # Pipelines de treinamento e ajuste fino das redes
│ ├── data_augs.py # Engine centralizada de augmentations
│ ├── ResNet/ # Pipeline de visão para ResNet50 e MobileNetV3 Large
│ ├── YOLO/ # Pipeline de classificação utilizando a arquitetura YOLO
│ └── LongFormer/ # Pipeline de NLP baseado no Longformer-base-4096
├── LLM_test/ # Scripts de avaliação Zero-Shot utilizando modelos Qwen2.5 (Text e VLM)
├── reports/ # Relatórios com os resultados e métricas sintetizadas do projeto
├── set_global_seed.py # Script raiz para garantia de reprodutibilidade determinística
└── environment.yml # Arquivo de configuração do ambiente virtual Conda
Para configurar todas as dependências do projeto com suporte a aceleração por hardware (CUDA), baixe o arquivo environment.yml presente na raiz do repositório e execute:
# Cria o ambiente virtual Conda
conda env create -f environment.yml
# Ative o ambiente criado
conda activate ascii
O repositório possui um orquestrador em shell script que gerencia de forma automatizada o pipeline de ponta a ponta — desde a preparação dos dados até o treinamento e avaliação sequencial das arquiteturas.
Para disparar todos os experimentos configurados de uma vez, basta executar:
chmod +x run_full_pipeline.sh # da acesso ao .sh
run_full_pipeline.sh