Respostas no Fórum

Visualizando 15 posts - 211 até 225 (de 396 do total)
  • Autor
    Posts
  • em resposta a: Instalação das bibliotecas tensorflow 1.14 #40021
    Gabriel Alves
    Moderador

      Olá Gabriel!

      Infelizmente nos últimos dias o Colab retirou o suporte que faltava para execução do tensorflow 1.x, antes já havia removido porém para essa implementação ainda havia uma alternativa, agora parece mesmo com as correções não está funcionando pois não tem como fazer o downgrade de certos pacotes que são necessários também, devido à impossibilidade de mudar a versão do Python (até tem um “hack” para mudar no Colab, porém dá problema ao usar a GPU). Enquanto buscamos por uma solução alternativa (ou aguardamos uma correção por parte dos desenvolvedores, o que nem espero pois se sair vai levar muito tempo) eu sugiro apenas assistir às aulas e pular a implementação, ou se desejar implementar pode tentar instalar em sua máquina local, pois lá você não terá limitação para usar a versão 1.x do tensorflow — obs: só recomendo fazer isso em um ambiente virtual com python versão 3.7.x, já que as superiores você pode encontrar algum problema.

      Outra alternativa ainda é usar a implementação feita para o tensorflow 2.x que roda no Colab, porém essa é diferente em alguns detalhes – mas se quiser fazer veja aqui.

      Ou se não quiser, pode pular direto para a próxima seção e apenas assistir às aula do ProGAN, que na verdade ele acaba sendo até opcional nesse curso, já que o foco maior seria o StyleGAN que é uma evolução dele.

      (a propósito, não é todo dia que vejo outro Gabriel Alves haha…)

      • Esta resposta foi modificada 2 anos, 2 meses atrás por Gabriel Alves.
      em resposta a: Erro ao gerar a imagem #39918
      Gabriel Alves
      Moderador

        Olá Caio!

        Isso acontece quando o valor de threshold é extremamente baixo, pois ele passa a exibir todas as caixas detectadas sem filtrá-las com base no score.

        Qual valor de limiar você passou? Poderia me passar o comando exato? Tente com diferentes valores.

        E também teste a implementação com OpenCV e observe se o problema continua, mas acredito que seja apenas na implementação do darknet, pode ser algum detalhe quando à sintaxe do comando. Mas se o problema persistir e você conferiu realmente se está tudo certo essas questões, pode ser até mesmo algum tipo de bug que ocorre em algumas versões muito específicas do MacOS por exemplo, nesse caso teria que ver qual a sua versão e até reinstalar o repositório se possível.

        em resposta a: As equações diferenciais parciais para segmentar imagens #39874
        Gabriel Alves
        Moderador

          Olá Felix!

          Na verdade, o curso está dividido entre as abordagens clássicas (sem o uso de deep learning) e os métodos baseados em deep learning. Na primeira seção do curso, é apresentado várias técnicas diferentes para realizar a segmentação, são chamadas de abordagens clássicas pois não fazem o uso de deep learning. Dependendo do propósito, são mais eficientes e eficazes que os métodos modernos, que são apresentados nas seções seguintes.

          O uso de equações diferenciais parciais aplicado em segmentação de imagens não foi abordado realmente, pois é algo bastante específico. Até foi estudado adicionar ao curso na época, porém a grade já estava demasiadamente grande, a ideia era conter pelo menos todas as categorias de segmentação (ex: limiarização, bordas, região, etc.) e essa outra poderia até ser incluso então como um bônus, porém já haviam várias outras formas mais usadas que acabaram sendo adicionadas (e além das PDEs, existem pelo menos mais centenas de outras formas).

          Mas é uma abordagem bastante interessante sim, há vários artigos que demonstraram conseguir resultados ótimos (por exemplo, esse).

          em resposta a: Segmentação baseada em bordas – a aula só mostra intuição #39758
          Gabriel Alves
          Moderador

            Olá Lucas!

            Isso mesmo, tem essas aulas sobre a implementação dessas técnicas. Na verdade o que estava ocorrendo nesse caso é que essas aulas foram editadas e por algum motivo isso alterou a ordem de exibição, então elas estavam aparecendo porém estavam um pouco mais a frente na ordem das aulas, caso avançasse ali mais um pouco logo iria ver as respectivas aulas. Mas agora já está corrigido e estão na ordem correta =)  mas qualquer dúvida é só avisar!

            em resposta a: Erro de Importação do Tensorflow | Segmentação de Imagens #39714
            Gabriel Alves
            Moderador

              Olá Matheus!

              Após uma atualização recente no Colab não da mais para carregar o Tensorflow 1.x, por isso precisa fazer alguns ajustes para converter a implementação para Tensorflow 2. Dê uma olhada aqui no Colab oficial da aula para ver as mudanças https://colab.research.google.com/drive/1vNlUU9KVZf7dsnLUSFfioMh2A1Mf0Dyj?usp=sharing

              É pouca coisa que muda, basta deixar seu código alinhado com essas alterações e vai funcionar certinho

              em resposta a: AttributeError: ‘SGD’ object has no attribute ‘get_updates’ #39628
              Gabriel Alves
              Moderador

                Olá Carla!

                Devido a uma atualização recente no Colab a versão padrão do tensorflow carregada na sessão está apresentando alguns problemas de compatibilidade com o repositório, por isso que executando o mesmo código mostra esse erro agora. Então para não precisar aguardar isso ser resolvido podemos contornar esse problema fazendo o downgrade do tensorflow, por exemplo para a 2.9.2 (que estava sendo carregada por padrão 1 mês atrás)

                Para fazer isso, basta colocar o código abaixo antes do import tensorflow

                !pip install tensorflow==2.9.2
                !pip install tensorflow-gpu==2.9.2

                Caso já tenha importado o tensorflow então precisa reiniciar a sessão.

                Fazendo isso deve funcionar, testei com o seu código e deu certo.

                em resposta a: Reconhecimento de objetos sobre a Face #39579
                Gabriel Alves
                Moderador

                  Olá!

                  Sim, você poderia usar um classificador haarcascade ou detector dlib já treinado para isso, ou ainda criar o seu próprio se for o caso. No curso “Reconhecimento de Faces e de Objetos com Python e Dlib” mostra como fazer o treinamento. Quanto à mascaras em específico, tem uma material que mostra como fazer isso, acesse as aulas “Detector de Máscaras com Python” dentro de “Conteúdo para assinantes > Aulas extras” no menu ao topo.

                  em resposta a: Detecção x reconhecimento #39551
                  Gabriel Alves
                  Moderador

                    Olá Rodrigo!

                    O botão “Marcar como completo” está aparecendo em que cor para você? Esse botão é liberado assim que chega ao final da aula, ou seja, assim que termina de assistir o vídeo.

                    Se mesmo chegando ao final do vídeo o botão está desabilitado, então peço que nos avise por aqui, e informe antes a cor que ele aparece para você.

                    em resposta a: Treinamento personalizado – balões 8 #39131
                    Gabriel Alves
                    Moderador

                      Olá, pelo que vi aqui em seu código você terá que deixar diferente o parâmetro nesse seu caso. Agora você não vai passar o parâmetro use_mini_mask na função load_image_gt, mas sim como parâmetro da rede (classe ConfigRede)

                      Ou seja, primeiro remove o use_mini_mask=False lá da lista de parâmetros da função load_image_gt.

                      Depois, adiciona USE_MINI_MASK=False lá dentro de ConfigRede(), igual você adicionou o BACKBONE e outros parâmetros que te passei na resposta anterior.

                      em resposta a: Treinamento personalizado – balões 8 #39094
                      Gabriel Alves
                      Moderador

                        Olá!

                        Antes de iniciar o treinamento, execute o seguinte comando:

                        !nvidia-smi

                        e então me passe aqui as informações, que contém o nome da GPU que foi atribuída à sua sessão.

                         

                        Para otimizar o uso da memória você pode tentar algumas coisas:

                        Mudar a rede de backbone, por padrão é a resnet101 porém você pode mudar para a resnet50 e assim reduzir o uso da memória, além de treinar mais rápido.

                        Outra possível causa do problema é o tamanho das imagens do dataset, que estão grandes para processar. você pode tentar diminuir o tamanho das imagens. O tamanho é controlado pelos seguintes parâmetros:

                        IMAGE_MIN_DIM = 800
                        IMAGE_MAX_DIM = 1024

                        Tente mudar o max_dim para 768 por exemplo e o outro (min_dim) deixa um tamanho menor ainda.

                         

                        Em último caso a opção seria reduzir mais ainda o batch size, que por padrão já é baixo (2) mas pode tentar reduzir para 1.

                        BATCH_SIZE = 1

                         

                        Obs: Esses parâmetros você define lá na classe ConfigRede 

                        Veja que lá já tem alguns parâmetros definidos, como o IMAGES_PER_GPU = 2

                        para definir esses outros basta colocar ele dentro da classe, entre o “class ConfigRede(Config):” e o “config = ConfigRede()”. É igual ao padrão que estão nos outros ([Parâmetro] = [Valor]), por exemplo assim:

                        BACKBONE = ‘resnet50’

                         

                        Tente essas mudanças e qualquer coisa avise

                        em resposta a: Método de Otsu – implementação 1 – Dúvidas #38993
                        Gabriel Alves
                        Moderador

                          Olá Mathews!

                          Estranho esse comportamento, você executou os comandos anteriores na ordem certa, correto? Analisando o que você mandou, parece estar de acordo com o código da aula (mas qualquer coisa, confira aqui).

                          Como está o seu código da função “mostrar()”?

                          Aliás, caso você tenha executado o código novamente e continue desse jeito peço que por favor compartilhe aqui o seu Colab pois desse modo consigo verificar melhor, as vezes pode ter outra coisa no código interferindo.

                          em resposta a: código fonte do google Colab #38962
                          Gabriel Alves
                          Moderador

                            Olá!

                            O link para o Colab se encontra sempre na aba “Materiais” da primeira aula onde o conteúdo é apresentado. Então por exemplo, para o primeiro conteúdo prático desse curso você vai encontrar o Colab acessando a aula “Carregamento da imagem”, o link vai aparecer ao selecionar a aba “Materiais”, ao lado de “Tópico”.

                            em resposta a: Treinamento personalizado – balões 8 #38961
                            Gabriel Alves
                            Moderador

                              Olá Carla!

                              Para não ocorrer esse erro, tem que deixar nas configurações o use_mini_mask igual à False, vi que no seu código não tem essa parte.

                              Ou seja, adicione como parâmetro na função load_image_gt() o parâmetro use_mini_mask=False, ficando assim:

                              img, img_meta, gt_class_id, gt_bbox, gt_mask = modellib.load_image_gt(dataset_val, inference_config, img_id, use_mini_mask=False)
                              em resposta a: transferencia de parendizagem #38937
                              Gabriel Alves
                              Moderador

                                Olá Caio!

                                Sim, você poderia usar para isso o DataGenerator, que inclusive é abordado nessas próximas aulas da seção sobre Transferência de aprendizagem.

                                Se você está tendo problemas de memória em sua máquina ou no Colab então pode ser devido ao tamanho das imagens que estão sendo carregadas (pode ser tanto no tamanho em bytes quando em quantidade). Não sei se o seu problema que se refere seria apenas quanto à inferência ou seria pro treinamento também, mas você já tentou definir um valor diferente para o batch size? Você vai precisar testar com outros valores de batch caso esteja trabalhando com um dataset muito extenso, já que para o valor em questão é muito grande para a memória disponível dar conta.

                                Gabriel Alves
                                Moderador

                                  Olá, pelo que vi o erro que interrompe a execução não está na célula contendo o código que inicializa o treinamento, mas sim na célula seguinte (onde tem o código model.find_last()), correto?

                                  Por quanto tempo ficou rodando o treinamento mais ou menos?

                                  Isso parece estar acontecendo porque ele não localizou o modelo salvo no diretório logs, consegue executar o treinamento novamente e ver se após finalizar aparece os arquivos nessa pasta? (o caminho do subdiretório final aparece ali no resultado da célula do código de treinamento, logo ao lado onde diz “Checkpoint path:”)

                                  Ou, se puder, compartilhe aqui o seu dataset para eu conseguir reproduzir o problema usando seu código, eu precisaria dele para conseguir reproduzir e chegar ao mesmo problema e assim conseguir verificar mais, pois a princípio quanto ao código estaria ok.

                                Visualizando 15 posts - 211 até 225 (de 396 do total)