--- license: cc --- # Fine-Tuning do Modelo `microsoft/git-base` Este repositório contém um modelo de fine-tuning baseado no `microsoft/git-base`. O vocabulário foi traduzido automaticamente utilizando o modelo `Helsinki-NLP/opus-mt-tc-big-en-pt`. ## Descrição do Modelo O modelo original `microsoft/git-base` foi ajustado para melhorar a geração de descrições em português para imagens, visando proporcionar maior acessibilidade para pessoas com deficiência visual. ## Tradução do Vocabulário Para traduzir o vocabulário das descrições das imagens para o português, utilizamos o modelo de tradução automática `Helsinki-NLP/opus-mt-tc-big-en-pt`. Este modelo é conhecido pela sua eficácia na tradução de textos entre o inglês e o português, garantindo a manutenção do contexto e da precisão das descrições. ## Tokenizador Utilizado O tokenizador utilizado para o ajuste fino é o `neuralmind/bert-base-portuguese-cased`, que é otimizado para lidar com o português, proporcionando uma tokenização precisa e eficiente para o modelo. ## Estrutura do Repositório - `config.json`: Configuração do modelo. - `generation_config.json`: Configurações para geração de texto. - `model.safetensors` e `pytorch_model.bin`: Pesos do modelo. - `preprocessor_config.json`: Configurações do pré-processador. - `special_tokens_map.json`: Mapeamento de tokens especiais. - `tokenizer.json`: Arquivo do tokenizer. - `tokenizer_config.json`: Configurações do tokenizer. - `vocab.txt`: Arquivo de vocabulário. ## Como Utilizar ### Carregar o Modelo: ```python from transformers import AutoModelForCausalLM, AutoTokenizer, AutoProcessor model = AutoModelForCausalLM.from_pretrained("histlearn/microsoft-git-portuguese-neuro-simbolic") tokenizer = AutoTokenizer.from_pretrained("histlearn/microsoft-git-portuguese-neuro-simbolic") processor = AutoProcessor.from_pretrained("histlearn/microsoft-git-portuguese-neuro-simbolic") ``` 2. **Gerar Legendas para uma Imagem**: ```python from PIL import Image import torch def generate_caption(model, processor, image_path, device): img = Image.open(image_path).convert("RGB") inputs = processor(images=img, return_tensors="pt").to(device) pixel_values = inputs.pixel_values model.eval() with torch.no_grad(): generated_ids = model.generate(pixel_values=pixel_values, max_length=50) generated_caption = processor.batch_decode(generated_ids, skip_special_tokens=True)[0] return generated_caption, img device = "cuda" if torch.cuda.is_available() else "cpu" model.to(device) # Exemplo de imagem para inferência image_path = "caminho/para/sua/imagem.jpg" generated_caption, img = generate_caption(model, processor, image_path, device) print("Generated Caption:", generated_caption) ``` ## Contribuições Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou pull requests para melhorar este repositório. ## Agradecimentos Agradecemos à equipe do [Hugging Face](https://huggingface.co/) por fornecer as ferramentas e os modelos que possibilitaram este trabalho, e ao projeto [#PraCegoVer](https://zenodo.org/records/5710562) pela disponibilização do dataset.