histlearn's picture
Update README.md
c6ab4a4 verified
metadata
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:

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.