Forum Replies Created

Viewing 15 posts - 61 through 75 (of 415 total)
  • Author
    Posts
  • in reply to: Extrair textos em arquivos no formato pdf #46810
    Gabriel Alves
    Keymaster

      Olá José! Respondi lá no outro tópico que criou, mas já que perguntou neste tópico deixo a resposta aqui também:

      Para fazer a leitura de um RG ou outro documento o segredo está em incorporar as técnicas de pré-processamento de imagem para que possa extrair o textos nas regiões específicas nesse documento, focando em antes extrair as localizações desses textos (regiões de interesse). Se desejar, pode antes fazer o teste com detectores de texto como o EAST para detectar as regiões onde os textos estão localizados, ou também testar com o EasyOCR (que já faz a detecção+reconhecimento).

      Em um dos projetos do curso é mostrado como fazer o scan de documentos, o que funciona para o caso desse tipo de documento também. Como adicional, você precisa apenas incorporar outras técnicas de pré-processamento de imagem para que possa extrair o textos nas regiões específicas nesse documento.

      A minha recomendação mesmo é seguir a lógica mostrada nesse artigo aqui, que explica exatamente uma maneira de como você pode criar um programa para ler melhor os campos de documentos (além disso, é disponibilizado o código fonte completo). Nesse exemplo do artigo ele usa uma CNH mas pode ser adaptado para RG pois o princípio é o mesmo, apenas alguns nomes e localizações de campos que mudam.

      in reply to: Leitura de documento RG #46809
      Gabriel Alves
      Keymaster

        Olá José!

        Para fazer a leitura de um RG ou outro documento o segredo está em incorporar as técnicas de pré-processamento de imagem para que possa extrair o textos nas regiões específicas nesse documento, focando em antes extrair as localizações desses textos (regiões de interesse). Se desejar, pode antes fazer o teste com detectores de texto como o EAST para detectar as regiões onde os textos estão localizados, ou também testar com o EasyOCR (que já faz a detecção+reconhecimento).

        Em um dos projetos do curso é mostrado como fazer o scan de documentos, o que funciona para o caso desse tipo de documento também. Como adicional, você precisa apenas incorporar outras técnicas de pré-processamento de imagem para que possa extrair o textos nas regiões específicas nesse documento.

        A minha recomendação mesmo é seguir a lógica mostrada esse artigo aqui, que explica exatamente uma maneira de como você pode criar um programa para ler melhor os campos de documentos (além disso, é disponibilizado o código fonte completo). Nesse exemplo do artigo ele usa uma CNH mas pode ser adaptado para RG pois o princípio é o mesmo, apenas alguns nomes e localizações de campos que mudam.

        in reply to: RAG #46790
        Gabriel Alves
        Keymaster

          Olá! Caso não tenha funcionado esse comando o que eu recomendo é usar o Ollama para rodar a LLM localmente. Aliás, creio que vai ser melhor fazer desse modo mesmo que funcionasse esse comando que te passei, já que você está usando localmente eu sugiro que carregue usando o módulo do Ollama no LangChain pois ele é mais otimizado e vai te causar menos problemas mais tarde.

          Para fazer isso use o método ChatOllama(), que é mostrado bem certo na aula “Execução local com Ollama” dentro da seção “LLM com LangChain”.

           

          in reply to: RAG #46773
          Gabriel Alves
          Keymaster

            Olá Anderson!

            Você tentou usar o comando pip install -U bitsandbytes e mesmo após reiniciar a execução não funcionou, correto?

            Recomendo desinstalar e instalar a biblioteca, mas agora de outro modo usando esse comando:

            python -m pip install bitsandbytes --prefer-binary --extra-index-url=https://jllllll.github.io/bitsandbytes-windows-webui

            Qual versão do pytorch você está usando aliás? Instalou pelo mesmo comando recomendado em aula?

             

            in reply to: Estruturação para aplicações industriais #46710
            Gabriel Alves
            Keymaster

              Olá Rodrigo!

              A escolha de hardware e software dependerá das configurações específicas e das técnicas que serão utilizadas. Se você estiver utilizando apenas o YOLO, basta seguir as configurações recomendadas pelo repositório oficial, o que geralmente é suficiente para a maioria das aplicações.

              As recomendações:
              Python 3.8+; PyTorch 1.10+; GPU da NVIDIA com CUDA 11.2+; 8GB+ RAM; 50GB de espaço em disco (para armazenamento do dataset e treinamento).

              Ter GPU é extremamente importante para rodar em tempo real. Uma RTX 3060 com 12GB tende a ser uma boa de início, se possível uma superior (16GB ou 24GB, mas depende realmente da escala e complexidade dos seus conjuntos de dados e modelos); porém, no geral, essa é recomendada pela comunidade e considerada uma ótima placa de início.

              Para as câmeras, a escolha dependerá do ambiente e do tipo de aplicação. Câmeras industriais com resolução mínima de 1080p e taxas de quadros de 30 fps são ideais para detecção em tempo real. Modelos com suporte a GigE Vision ou USB 3.0 facilitam a integração em redes industriais. Se o ambiente for externo ou exigir maior durabilidade, opte por modelos com proteção IP65 ou IP67.

              A infraestrutura de rede também deve ser dimensionada para garantir desempenho contínuo. Switches gerenciáveis com portas Gigabit Ethernet são recomendados para lidar com o fluxo de dados das câmeras. Caso as câmeras sejam alimentadas via PoE (Power over Ethernet), utilize switches compatíveis para simplificar a instalação.

              Quanto ao software, YOLO pode ser executado pela própria biblioteca de Ultralytics, que é mostrada na última seção do curso de Detecção com YOLO. Você também consegue otimizar bastante salvando em formatos eficientes (veja aqui). Uma dica bônus seria você procurar por frameworks como DeepStream da NVIDIA, que é otimizado para aplicações industriais. Em caso de aplicações mais complexas, o uso de TensorRT pode otimizar ainda mais a inferência.

              in reply to: Problema para instalar os pacotes com o Python #46628
              Gabriel Alves
              Keymaster

                Ah sim entendi, se não funcionasse eu iria nesse caso recomendar criar um ambiente separado e fazer a instalação das bibliotecas lá

                Mas que ótimo saber que já deu certo! =)

                in reply to: Problema para instalar os pacotes com o Python #46610
                Gabriel Alves
                Keymaster

                  Olá Raquel!

                  Esse erro ocorre apenas ao executar o comando pip pro dotenv? Para todas as outras bibliotecas foi instalado com sucesso e sem erros?

                  A propósito, qual a versão do Python que você está usando?

                  Experimente rodar esse comando abaixo e me diga se funciona pra você, ou qual mensagem que ocorre

                  pip install -U python-dotenv

                   

                  in reply to: Erro no treinamento do classificador LBPH #46608
                  Gabriel Alves
                  Keymaster

                    Ah sim entendo, mas sem problemas! São linguagens bem diferentes mesmo então o melhor é ir calma e no seu ritmo

                    Abraços

                    in reply to: Erro no treinamento do classificador LBPH #46526
                    Gabriel Alves
                    Keymaster

                      Olá, verifiquei aqui o seu código e descobri o problema, estava faltando fazer uma conversão para int nessa linha:

                      id = os.path.split(path)[1].split(‘.’)[0].replace(‘subject’,”)

                      ou seja, tem que ficar assim

                      id = int(os.path.split(path)[1].split(‘.’)[0].replace(‘subject’,”))

                      (na dúvida, pode verificar no colab da aula, nesse trecho aqui)

                      Após fazer esse ajuste eu rodei esse mesmo Colab que você compartilhou e funcionou aqui

                      in reply to: Erro ao carregar infos de videos do youtube #46522
                      Gabriel Alves
                      Keymaster

                        Olá Elaine!

                        Esse erro passou a ocorrer bem recentemente devido a um bug na biblioteca pytube, que ainda não foi resolvido pelos desenvolvedores. Ele ocorre somente ao usar o parâmetro “add_video_info = True”, então caso não seja essencial obter essas informações agora pode deixar “= False” (ou não passar o parâmetro, já que esse é o valor padrão).

                        Um modo de tentar resolver é executar novamente a célula de código (primeiramente a anterior a essa e depois a seguinte, que é a que gerou o erro). Isso funcionou para nós algumas vezes mas parece que nem sempre está funcionando, portanto não é certeza.

                        Se mesmo assim o erro continuar, sugiro usar esse outro método para obter informações do vídeo de modo automático:

                        import requests
                        from bs4 import BeautifulSoup
                         
                        def get_video_title(url):
                          r = requests.get(url)
                          soup = BeautifulSoup(r.text)
                         
                          link = soup.find_all(name="title")[0]
                          title = str(link)
                          title = title.replace("<title>","")
                          title = title.replace("</title>","")
                         
                          return title
                         
                        video_url = "https://www.youtube.com/watch?v=########"
                         
                        video_title = get_video_title(video_url)
                        print(video_title)

                         

                        Este código busca o conteúdo HTML de uma página de vídeo do YouTube usando a função requests.get() e em seguida analisa-o com a biblioteca BeautifulSoup, usado para carregar dados de páginas na internet. Ele procura a tag usando soup.find_all(), que retorna uma lista de tags correspondentes. O título do vídeo é extraído pegando o primeiro elemento, convertendo-o em uma string e, em seguida, removendo o <title> e as tags com replace(). Por fim, ele imprime o título “limpo” (se quiser também pode usar a função de replace para remover o “- YouTube” ao final do título).

                        in reply to: Erro no treinamento do classificador LBPH #46521
                        Gabriel Alves
                        Keymaster

                          Opa aqui o Colab está com acesso restrito, se puder mudar o compartilhamento para ser acessível pelo link, ou aprovar a solicitação que mandei.

                          Outra coisa (se quiser testar antes) é voltar uma versão do OpenCV, para mim está funcionando aqui corretamente com a versão que atribuiu automaticamente ao meu Colab, mas talvez pra você foi associado uma versão diferente e que está com algum bug ao rodar esse método. Por isso, pode tentar executar o seguinte comando no início do seu Colab (antes de todo o resto)

                          !pip install opencv-contrib-python==4.8.0.76

                          E em seguida continuar a execução do restante do código, na ordem

                           

                           

                          in reply to: Erro no treinamento do classificador LBPH #46501
                          Gabriel Alves
                          Keymaster

                            Olá José,

                            Esse erro ocorre quando é passado um parâmetro incorreto, geralmente a imagem em um formato que a função não estava esperando. Verifique se você carregou corretamente as fotos e carregou corretamente as variáveis. Cheque se todas os blocos de códigos anteriores a esse foram executados na ordem correta, e se nenhum deles gerou alguma mensagem de erro.

                            Eu rodei aqui o código do Colab oficial dessa seção do curso (link aqui) e para mim rodou tudo conforme o esperado. Portanto, teste novamente e verifique se foi carregado corretamente as imagens usadas para treinamento. Se o erro persistir, peço que compartilhe seu Colab aqui, já que deve ter outra coisa em seu código interferindo.

                            in reply to: Alteração de Biblioteca #46488
                            Gabriel Alves
                            Keymaster

                              Disponha!

                              in reply to: Erro na aula: Avaliação do classificador com Dlib #46471
                              Gabriel Alves
                              Keymaster

                                Ah sim ele consegue detectar faces com esse limiar, porém o que eu me referi na resposta anterior na verdade era quanto ao momento da gravação da aula, pois no vídeo (minuto 3:02) perceba que após mudar para essa nível de confiança nenhuma das faces exibidas na célula de saída foram detectadas, então por isso quis dizer que passou despercebido.

                                in reply to: GPU para rodar o projeto 3 local em desktop #46470
                                Gabriel Alves
                                Keymaster

                                  Olá Murilo,

                                  Para rodar projetos com LLMs, a escolha entre essas placas depende de como você pretende usar a GPU. Na minha opinião, a RTX 3050 com mais VRAM (12GB) pode ser uma opção interessante, já que LLMs (especialmente os maiores) tendem a exigir bastante memória de vídeo para rodar de forma eficiente. No entanto, a RTX 4060 oferece uma arquitetura mais moderna, com melhor desempenho geral, apesar de ter menos VRAM.

                                  Se seus projetos forem rodar modelos menores ou otimizados, a 4060 pode ser uma escolha mais eficiente em termos de performance. No entanto, se você planeja trabalhar com modelos maiores e precisa de mais memória para carregar os dados e o modelo, a 3050 com mais VRAM pode ser a opção mais estável. Para o uso pessoal e IA, ambos os modelos são boas opções, mas se a VRAM for uma prioridade para você, a 3050 seria mais indicada.

                                  Além disso, eu realmente recomendo que você busque comparativos específicos entre as duas GPUs, especialmente em cenários que envolvam as tarefas que você pretende realizar, como o uso de LLMs ou outros projetos de IA. Isso vai te ajudar a visualizar o desempenho prático de cada uma em situações reais, não apenas agora, mas também em futuros projetos que possam exigir mais poder de processamento. Dessa forma, você pode evitar possíveis limitações ou decepções e escolher a placa que melhor atende às suas necessidades a longo prazo, pois podem haver vários pontos que não cogitamos aqui agora e apenas são levantados nesses comparativos.

                                  Mas antes disso, o que você pode fazer é testar modelos menores, você pode encontrar bastante modelos de linguagem bem menores aqui: https://ollama.com/library

                                  na aula foi usado o Phi3 que é considerado um modelo pequeno (SLM) mas mesmo assim há outros bem menores, com menos de 1 bilhão de parâmetros. Acredito que vale a pena fazer o teste antes.

                                Viewing 15 posts - 61 through 75 (of 415 total)