Respostas no Fórum

Visualizando 15 posts - 211 até 225 (de 393 do total)
  • Autor
    Posts
  • 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.

                            em resposta a: função de ativação #38913
                            Gabriel Alves
                            Moderador

                              Olá Maiara!

                              Poderia sim, para classificação binária é indicado ativação sigmoide inclusive, porém nesse caso foi abordado direto o uso da ReLU, que é amplamente usada atualmente para se trabalhar com problemas mais complexos que esses do exemplo, que é um estudo de caso mais simples  (já adiantando o próximo módulo desse curso, sobre redes neurais convolucionais, que é o foco pois o curso se trata de visão computacional).

                              E sim você pode usar diferentes funções de ativação, nesse mesmo projeto mostra como usar sigmoide. Para se aprofundar mais, sugiro seguir a Trilha Redes Neurais e Deep Learning aqui da plataforma pois lá você encontrará mais exemplos específicos contendo outros estudos de caso onde é mostrado uso de outras funções, além de se aprofundar mais na teoria das redes neurais.

                              em resposta a: não encontrei esse notebook #38912
                              Gabriel Alves
                              Moderador

                                Olá Maiara,

                                O notebook se encontra na aba “Materiais” na primeira aula onde ele é abordado (nesse caso, na aula “Introdução” dessa mesma seção).

                                Segue o link abaixo:

                                https://colab.research.google.com/drive/12x-fvkVRo1SBUHgJ-XYSatNz2MXMYSzv?usp=sharing

                                em resposta a: Quantidade de neurônios na camada oculta #38910
                                Gabriel Alves
                                Moderador

                                  Olá Maiara!

                                  Existem algumas “regras gerais” para determinar um número correto de neurônios a serem usados nas camadas ocultas, por exemplo:

                                  •  deve estar entre o tamanho da camada de entrada e o tamanho da camada de saída.
                                  •  deve ser 2/3 do tamanho da camada de entrada, mais o tamanho da camada de saída.
                                  •  deve ser menor que o dobro do tamanho da camada de entrada.

                                  Além disso, o número de neurônios necessários para a camada oculta também depende dos casos de treinamento, da complexidade dos dados que devem ser aprendidos e do tipo de funções de ativação que serão usadas.

                                  • Esta resposta foi modificada 2 anos, 3 meses atrás por Gabriel Alves.
                                Visualizando 15 posts - 211 até 225 (de 393 do total)