|
--- |
|
license: cc |
|
--- |
|
# Fine-Tuning do Modelo `microsoft/git-base` com o Dataset #PraCegoVer |
|
|
|
Este repositório contém um modelo de fine-tuning baseado no `microsoft/git-base`, ajustado usando uma amostra de 8070 imagens do dataset [#PraCegoVer](https://zenodo.org/records/5710562). 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. |
|
|
|
## Dataset Utilizado |
|
|
|
O dataset utilizado para o fine-tuning é o [#PraCegoVer](https://zenodo.org/records/5710562), que contém imagens anotadas com descrições detalhadas em português. Este dataset é uma iniciativa importante para promover a inclusão e acessibilidade de pessoas com deficiência visual. |
|
|
|
- **Total de Imagens Utilizadas**: 8070 |
|
- **Fonte do Dataset**: [Zenodo](https://zenodo.org/records/5710562) |
|
|
|
## 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. |
|
|