Respostas no Fórum

Visualizando 15 posts - 61 até 75 (de 393 do total)
  • Autor
    Posts
  • em resposta a: Google Colab #46350
    Gabriel Alves
    Moderador

      Olá Gabrielli!

      Que bom que está gostando do curso =)

      Quanto à sua dúvida, com o Colab Pro você certamente terá acesso a melhores recursos de GPU e mais tempo de execução (e maior prioridade no uso de hardware), porém na minha opinião vale a pena apenas se você planeja usar para outras coisas além de LLMs. Eu já assinei o plano do Colab, mas se tratando de LLMs eu não recomendaria usar esse ou outros cloud providers, para esse tipo de tarefa eu sugiro dar uma olhada nas APIs pagas especializadas em LLMs, que acabam sendo uma opção muito mais eficiente e econômica. O motivo é que no Colab você está pagando pelo uso computacional em geral, enquanto os serviços focados em LLMs são mais otimizados nesse contexto, o que no final das contas dará um custo benefício melhor, pagando poucos centavos de dólar a cada milhão de tokens gerados (esse é o modo de precificação que esses serviços usam).

      Isso é comentado mais a partir da aula “Outros serviços para modelos” (seção: LLM com LangChain), onde explicamos melhor as vantagens desses serviços. Se quiser continuar com os modelos open source, recomendo o Groq (https://groq.com), que é um ótimo serviço nesse contexto – e adianto que a execução é extremamente rápida, conseguindo superar a resposta de modelos proprietários. E já se está disposta a pagar pelo uso, também dê uma olhada nos valores das APIs de modelos proprietários como ChatGPT e Gemini (isso também é abordado nessas aulas, depois sugiro dar uma olhada com atenção, mas qualquer dúvida que surgir é só pergunta aqui).

      Ah, outra opção interessante é a API do Hugging Face, que tem uma versão gratuita com limites mas que dependendo do seu uso (ou tamanho do modelo escolhido) pode ser mais que o suficiente. Assim como esses outros serviços acima, com ele você consegue rodar modelos no Colab apenas com a CPU, ou em qualquer máquina local que não tenha um hardware tão bom (e o bom é que o uso da CPU no Colab é ilimitado). O uso dessa API em máquina local é elaborado melhor nos últimos 2 projetos do curso.

      Portanto, creio que só compense o Colab Pro ou similar se você prefere manter o processamento 100% “local” (sem usar APIs), o que pode ter vantagens adicionais no quesito privacidade, mas que na grande maioria dos casos não chega a ser necessário. Nesse caso te recomendo também testar o Sagemaker Studio Lab, que está oferecendo 4 horas diárias de GPU gratuita, então no final poderá ter bastante tempo se somar com as horas que o Colab disponibiliza após resetar a quota.

      Gabriel Alves
      Moderador

        Olá!
        O Colab atualizado está aqui https://colab.research.google.com/drive/1vNlUU9KVZf7dsnLUSFfioMh2A1Mf0Dyj

        Ou seja, essa primeira linha de código que você indicou é no modo antigo de instalação e que funciona apenas com o tensorflow 1.x, com o novo método de instalação para o tensorflow 2.x não é necessário esse comando citado (porém, são necessários outros. As mudanças estão descritas no início do Colab).

        Eu fui tentar rodar com o release recente do tensorflow (2.17.0) atribuído automaticamente no Colab porém realmente apareceu uma mensagem de erro, mas foi na função network.detect() – então fizemos uma atualização aqui no Colab para automaticamente usar a versão 2.15.0 até que seja resolvido a incompatibilidade.

        Para isso basta usar o comando  !pip install tensorflow==2.15.0  abaixo da seção “Importação das bibliotecas”

        Na dúvida basta rodar na ordem os comandos desse Colab que citei acima, eu acabei de testar aqui e funcionou conforme esperado. Mas se continuar a ocorrer algum erro nos avise

        Gabriel Alves
        Moderador

          Disponha! =)

          em resposta a: Execução do Projeto3.py #46175
          Gabriel Alves
          Moderador

            Olá Cesar!

            Para resolver o primeiro erro, use o seguinte código no início de seu script:

            import os
            os.environ['TF_ENABLE_ONEDNN_OPTS'] = '0'

             

            E quanto ao segundo erro, ele ocorre pois não foi localizada a biblioteca em seu ambiente. Para resolver, execute o comando abaixo no terminal:

            pip install sentence-transformers

            E depois volte a executar o código.

            • Esta resposta foi modificada 6 meses, 4 semanas atrás por Gabriel Alves.
            em resposta a: Base de documentos – exportação e atualização incremental. #46173
            Gabriel Alves
            Moderador

              Olá!

              Tanto o Faiss quanto o ChromaDB são opções viáveis para rodar localmente sem depender de APIs, mas eles têm características diferentes, então a escolha vai depender das suas necessidades específicas. Esse artigo explica bem as diferenças de cada e onde um pode ser melhor que outro, mas basicamente: Faiss é altamente escalável e principalmente na busca vetorial, pode ser preferível se seu principal objetivo é velocidade e eficiência em buscas especialmente em grandes conjuntos de dados; já Chroma é mais usado quando preza por flexibilidade maior, geralmente mais fácil de gerenciar, trabalhando com metadados para uma busca otimizada.

              Caso tenha preocupações com eficiência, o Faiss tende a ser melhor nesse quesito, além de ser mais otimizada para se trabalhar com GPU (então se tiver uma à disposição será mais interessante). Ainda quanto à performance, recomendo dar uma olhada nesse comparativo.

              Para adição incremental de documentos, você pode usar o método add_documents  (exemplo).

              E para salvar localmente, você pode usar o método save_local(), que também foi usado durante o projeto 3.  E depois, usar a função load_local, assim por exemplo:
                  vector_store.save_local(“faiss_index”)
                  n_vector_store = FAISS.load_local(“faiss_index”, embeddings, allow_dangerous_deserialization=True)
              Referente à ideia de ter múltiplas bases de mapeamento para diferentes tipos de conteúdo (legislação e monografias, por exemplo) realmente é bem interessante! Um agente LLM poderia ser configurado para direcionar as buscas para a base apropriada dependendo do contexto da consulta. Então usar um agente para conectar um LLM às diferentes bases facilita a modularidade e garante que você consiga expandir as funcionalidades, inclusive buscando em bases como de legislação interna e externa.

              • Esta resposta foi modificada 6 meses, 4 semanas atrás por Gabriel Alves.
              em resposta a: Projeto #46172
              Gabriel Alves
              Moderador

                Olá Heitor!

                O valor pode variar bastante, pois vai depender de alguns fatores. Primeiro, é importante considerar o nível de complexidade do projeto: se ele envolve apenas a detecção de aeronaves em um ambiente simples ou se requer detecção em condições mais desafiadoras, como diferentes tipos de iluminação, ângulos de câmera, ou integração com outros sistemas. Como acredito ser o caso, você deve considerar isso a mais na hora de cobrar, pois certamente você terá que dispor de um tempo para fazer uma otimização e melhorar os casos de falsos positivos e falsos negativos por exemplo (talvez cobrar um valor mensal referente à manutenção).

                Além disso, o escopo do projeto e as funcionalidades adicionais que você vai oferecer podem influenciar o preço. Por exemplo, se o sistema precisa ser escalável para monitoramento em larga escala, se é necessário treinar o modelo com um dataset específico, ou se você vai entregar uma solução completa que inclua integração com um dashboard ou uma interface de usuário. Ou seja, se você vai fazer o desenvolvimento ou a manutenção de alguma funcionalidade a mais além da IA em si.

                Outro ponto importante é o valor que isso agrega ao cliente. Se o projeto é para uma empresa do setor aeronáutico ou de monitoramento aéreo, onde a precisão e a segurança são essenciais, o valor pode ser significativamente maior. Avalie também o tempo de desenvolvimento, os recursos necessários e a manutenção contínua que pode ser exigida.

                Quanto ao quanto cobrar, não consigo te dar uma resposta sobre quanto valeria esse projeto pois como falei dependerá de muitas outras questões, mas projetos como este podem valer dezenas de milhares de reais ou até na casa das centenas de milhares, dependendo da escala e dos requisitos. Mas se for algo mais simples, pode ser cobrado bem menos, um valor mais justo. Uma abordagem segura que eu recomendo para ajudar a precificar de modo justo é estimar as horas de trabalho necessárias e definir um valor por hora, levando em conta o mercado e a sua expertise. Mas existem também outras abordagens, por isso recomendo consultar artigos sobre como cobrar projetos de IA ou de computação no geral, já que isso pode variar bastante conforme os fatores mencionados (por exemplo aqui, que discute as formas de cobrar por projetos).

                em resposta a: detecção de movimentos cujo #46148
                Gabriel Alves
                Moderador

                  Olá Douglas!

                  Modelos deep learning para detecção de pose como esse usado na aula podem ser bastante pesados para rodar em tempo real, principalmente em dispositivos com recursos computacionais limitados, mas também depende muito de outros fatores como o tamanho do vídeo por exemplo.

                  Para uma aplicação comercial em tempo real, o uso de modelos como esse dependerá muito da estrutura computacional empregada. A recomendação seria utilizar uma GPU de alta performance, que pode processar as inferências de forma paralela, o que reduziria significativamente o tempo de resposta. GPUs como as da série NVIDIA RTX ou Tesla são amplamente usadas em cenários de inferência de visão computacional. Em dispositivos móveis ou mais simples, é possível explorar versões otimizadas de modelos de detecção de poses, como as implementações leves do TensorFlow Lite ou MediaPipe, que são mais apropriadas para aplicações em tempo real e têm menor demanda por recursos computacionais.

                  Portanto, é viável rodar detecção de movimentos em tempo real em aplicações comerciais, mas para isso é essencial garantir uma infraestrutura otimizada, preferencialmente com aceleração por hardware (GPU), e escolher um modelo pré-treinado que esteja balanceado entre precisão e velocidade de execução.

                  Hoje há modelos mais otimizados para essa tarefa, como por exemplo o estimador de poses do YOLO https://docs.ultralytics.com/tasks/pose/

                  a sua arquitetura e o modelo são baseados em abordagens mais modernas, portanto conseguem rodar tranquilamente em tempo real.

                  Gabriel Alves
                  Moderador

                    Olá José!

                    Para resolver esse erro, basta trocar cv2.imshow por cv2_imshow, pois o nome da função de exibição de imagem usada no Colab é cv2_imshow (com “_” e não “.“) . Ou seja, apenas fazendo essa correção no código deve funcionar.

                    em resposta a: Autoencoder #46138
                    Gabriel Alves
                    Moderador

                      Olá Douglas!

                      Os Autoencoders possuem diversas aplicações na visão computacional, mas seu principal uso não é a compressão de vídeos diretamente, como você mencionou. Eles são redes neurais usadas para reduzir a dimensionalidade de dados complexos e aprender uma representação compacta (codificação) de entradas, que pode ser utilizada em uma variedade de tarefas, como detecção de anomalias, remoção de ruído em imagens, e até mesmo geração de novos dados a partir de uma codificação comprimida.

                      Em uma aplicação comercial, um autoencoder poderia ser usado, por exemplo, para reduzir o tamanho de dados de imagens ou vídeos, mas isso geralmente não seria a solução mais eficiente ou direta para compressão de vídeos. Algoritmos de compressão específicos, como H.264, são otimizados para essa tarefa. No entanto, autoencoders podem ser úteis em outras situações, como detectar padrões ou anomalias em imagens médicas ou industriais, ou ainda para pré-processar dados visuais para outras tarefas de aprendizado de máquina.

                      Se o seu objetivo for compactação de dados visuais então um autoencoder até pode ser aplicado, mas provavelmente ele não será a solução mais eficiente para compressão de vídeo em comparação com codecs de compressão tradicionais por exemplo.

                      Para completar, alguns exemplos de aplicações e casos de uso:

                      • Compressão de imagens e áudio — Autoencoders reduzem o tamanho de arquivos grandes ao aprenderem a comprimir e reconstruir imagens ou áudios, preservando as informações essenciais.
                      • Detecção de anomalias — Eles identificam irregularidades nos dados, comparando o quão bem conseguem reconstruir entradas em relação a padrões normais.
                      • Redução de dimensionalidade — Eles simplificam dados de alta dimensionalidade em uma forma mais compacta, mantendo as características principais.
                      • Geração de dados novos — Autoencoders podem gerar novos dados semelhantes aos existentes, decodificando representações comprimidas.
                      • Remoção de ruído — Eles removem ruído dos dados ao aprender como restaurar o conteúdo original a partir de entradas com ruído.
                      • Sistemas de recomendação — Para personalizar recomendações ao analisar e comprimir preferências dos usuários para prever interesses futuros.
                      em resposta a: curso de visao computacional-Carregamento e processamento da imagem #46105
                      Gabriel Alves
                      Moderador

                        Olá!

                        Para instalar o OpenCV no Linux você pode usar o gerenciador de pacotes pip, que é utilizado várias vezes ao longo do curso para baixar bibliotecas no Python.

                        Recomendamos instalar a versão do OpenCV que inclui os módulos extras (contrib), pois ela vem com funcionalidades adicionais, como os métodos de reconhecimento facial e outras ferramentas úteis que não estão presentes na versão padrão do OpenCV. Ou seja, será essencial caso queira implementar a seção de reconhecimento facial.

                        Com o terminal aberto, execute o seguinte comando para instalar o OpenCV com os módulos contrib:

                        pip install opencv-contrib-python

                        Se estiver usando o Pycharm, tem um modo melhor ainda. Vá em: File > Settings > [Selecione o projeto] (Project) e abra Project Interpreter. No lado superior direito clique em “+”. Pesquise na lupa por “opencv-contrib-python” e clique em “Install”.

                        Antes só verifique se a versão correta do Python está selecionada em Project Interpreter (File > Settings > [Selecione o projeto] (Project) => Project Interpreter).

                        em resposta a: Erro auto encoder convolucional #46102
                        Gabriel Alves
                        Moderador

                          Olá Douglas!

                          Na linha que ocorreu o erro, troque .input por .get_layer(‘conv2d’).input

                          e também faça a troca no método Model() que está na linha logo na sequência.

                          Na dúvida, acesse o Colab compartilhado na aba “Materiais” dentro da primeira aula dessa seção sobre Autoencoders, eu rodei aqui novamente e funcionou conforme esperado (nesse Colab já está atualizado essa linha de código).

                          Isso ocorre em razão de uma atualização recente do tensorflow, onde é necessário um pequeno ajuste. Alternativamente, você tem a opção de usar uma versão anterior, desse modo não precisa fazer esse ajuste nessa linha de código. Se optar por usar uma versão um pouco anterior (por exemplo a 2.12.0) então basta rodar esse comando abaixo antes de todo o código, colocando como o primeiro bloco.

                          !pip install tensorflow==2.12.0

                          E após executar isso reiniciar a sessão do Colab. Caso não apareça já automaticamente um botão para reiniciar, basta ir em ‘Ambiente de execução > reiniciar sessão’. Com isso vai funcionar e não precisa fazer nenhum ajuste.

                          em resposta a: Erro ao tentar utilizar os modelos openai e ollama #46084
                          Gabriel Alves
                          Moderador

                            Olá Robson!

                            Esse aviso aparece porque para usar a API da OpenAI é necessário pagar pelo uso, eles não oferecem mais uso gratuito através desse modo.
                            Para acessar as informações de cobrança e adicionar um método de pagamento para acessar a API, visite https://platform.openai.com/settings/organization/billing/overview

                            Dá para começar com apenas U$5,00, o que parece pouco mas só isso já garante bastante uso mesmo. Consulte a página https://openai.com/api/pricing/ para verificar quantos centavos de dólar são necessários para cada milhão de tokens processados.

                            Lembrando que o método com o Hugging Face Hub mostrado no curso é gratuito, então pode usar ele para começar caso se sinta mais confortável, e depois que estiver com sua aplicação devidamente testada e ajustada você pode escolher uma opção paga como a Open AI.

                             

                            Quanto a esse erro com o Ollama, pode ocorrer por vários motivos, mas geralmente é devido a alguma etapa na instalação e configuração ou até mesmo alguma configuração no sistema operacional e que bloqueia a conexão.

                            Ao seguir a aula “Execução local com Ollama”, apareceu algum erro para você?

                            Experimente abrir novamente o terminal conforme mostrado em aula, e execute ollama run phi3 (ou o outro modelo que estiver querendo usar) e após terminar de rodar o processamento no terminal volte a executar o código .py pelo VS code. E verifique também se o seu Ollama está atualizado e na versão mais recente.

                             

                            em resposta a: Ajuste dos parâmetros de treinamento #46082
                            Gabriel Alves
                            Moderador

                              Olá Leandro!

                              Aumentar o tamanho da imagem é útil se o objeto a ser detectado tiver detalhes finos que são importantes para a correta classificação. Isso ocorre porque imagens maiores podem capturar melhor esses detalhes, permitindo que o classificador aprenda características mais sutis. Também é benéfico quando o objeto é pequeno em relação ao fundo (entre as imagens usadas para treinamento e teste) e precisa de mais resolução para ser identificado corretamente.

                              Aumentar o número de imagens positivas é indicado no geral para que o classificador aprenda a detectar com mais precisão, pois isso dá mais exemplos de como o objeto aparece em diferentes condições (iluminação, ângulos, variações), melhorando a sua generalização. Para um classificador realmente bom recomenda-se utilizar umas 5000 imagens (não é exigido tudo isso, pode usar metade ou até menos em seus testes iniciais, mas aqui quanto mais imagens melhor. Só lembrado que isso pode deixar o treinamento muito lento). Então, a verdade mesmo é que não há uma regra de quantas utilizar.

                              Um detalhe importante também é sobre a qualidade das imagens usadas no treinamento, se estão em uma resolução boa e nítida e com bastante variações por exemplo. Um classificador com 1000 imagens bem selecionadas pode ser melhor que um com 5000 imagens “ruins”, que podem acabar confundindo o modelo. Se você quer um classificador mais robusto (que atenda uma grande variedade de cenários e situações) então será necessário coletar manualmente imagens positivas desse objeto sob diferentes condições. Para objetos mais rígidos (como uma logo) da para usar apenas o createsamples para gerar amostras a partir das imagens de treinamento.

                              Já aumentar o número de imagens negativas é fundamental caso esteja cometendo muitos erros falsos positivos (identificando coisas que não são o objeto como sendo o objeto). Desse modo o classificador consegue aprender melhor a distinguir entre o que é e o que não é o objeto-alvo.

                              Ou seja, a escolha ideal do que alterar depende dos desafios específicos que você está enfrentando nos experimentos com o treinamento.

                              Para mais detalhes sobre como ajustar os parâmetros de treinamento e sobre como melhorar o desempenho, consulte a aula “Melhorias e parâmetros haarcascades”.

                              em resposta a: camada convolucional #46080
                              Gabriel Alves
                              Moderador

                                Olá João!

                                No YOLOv8 são disponibilizados modelos pré-treinados em diferentes tamanhos, como por exemplo o Nano (YOLOv8n) e o Small (YOLOv8s).

                                A ideia é a mesma, usá-los como “ponto de partida”, mas a diferença é que o v8 permite treinar modelos em arquiteturas de diferentes tamanhos, então você pode ter essa opção para escolher. Isso é explicado detalhadamente na seção “YOLOv8”, recomendo dar uma olhada caso ainda tenha dúvidas pois lá explica o conceito dos tamanhos e mostra o código para implementação do treinamento.

                                em resposta a: Execução em máquina local #46077
                                Gabriel Alves
                                Moderador

                                  Olá!

                                  Primeiramente, vocês podem também executar pelo Colab usando apenas CPU ou localmente sem GPU, basta usar o Hugging Face Hub conforme explicado na aula “Outros serviços para modelos”. Isso te permite rodar modelos LLM de forma prática, mesmo sem hardware adequado. Outra alternativa seria se conectar via API usando LLMs pagas, como a Open AI (mas pelo Hugging Face Hub você pode fazer isso gratuitamente).

                                  Já se quiser usar com a GPU do seu notebook é necessário que a biblioteca CUDA esteja corretamente instalada e configurada. A GeForce MX450 é compatível com CUDA, mas você precisa garantir que os drivers da NVIDIA e a versão correta do CUDA Toolkit estejam instalados.

                                  Primeiro, verifique se o PyTorch está compilado com suporte para CUDA. Você pode instalar o PyTorch com a versão CUDA compatível através do comando de instalação presente no site oficial do PyTorch (https://pytorch.org/) – abaixo de “Install PyTorch”.

                                Visualizando 15 posts - 61 até 75 (de 393 do total)