Inteligência Artificial

Laboratório 1: Introdução ao Intel® SDK for OpenCL™ Applications

Prepare o hardware e o software para este curso.

  • Compile e execute os programas fornecidos.
  • Examine os vários relatórios, calcule o tempo de execução esperado e compare com o tempo de execução real.
  • Execute novamente o exercício com o kernel modificado fornecido.

Baixar

Laboratório 2: Acelerando as técnicas de visão computacional

Implemente uma variação da técnica de detecção de borda Canny para ilustrar a melhoria que você pode obter com o OpenCL™.

  • Escreva, compile e execute um programa de linguagem C++ para implementar os cinco estágios da técnica de detecção de borda Canny.
  • Crie uma arquitetura de memória eficiente para armazenar os valores de pixel à medida que passam por transformações em cada estágio Canny.
  • Crie um aplicativo OpenCL usando registros de deslocamento.

Baixar

Laboratório 3: Detecção de faixa para direção autônoma

Aprenda sobre a transformada Hough e como ela pode ser usada para detectar faixas em um aplicativo de direção autônomo.

  • Escreva, compile e execute um programa em linguagem C para implementar a transformada de Hough.
  • Crie um kernel OpenCL para a transformada de Hough e execute e compare-o com o programa de linguagem C concluído no Laboratório 1.
  • Melhore o desempenho do programa OpenCL usando tubulações para eliminar a memória externa.

Baixar

Laboratório 4: Classificação de dígitos manuscritos: classificador linear

Explore uma abordagem de aprendizado de máquina para classificar dígitos manuscritos usando o banco de dados MNIST e um programa classificador linear.

  • Escreva, compile e execute um programa C++ para classificar 10.000 imagens de teste MNIST.
  • Implemente um kernel OpenCL que efetue a mesma tarefa.
  • Analise os relatórios e modifique seu programa para usar a aritmética de ponto fixo e compare as diferenças de desempenho.

Baixar

Laboratório 5: Classificação de dígitos manuscritos: classificador CNN

Repita as tarefas no Laboratório 4 usando um classificador de rede neural convolucional (CNN).

  • Escreva, compile e execute um programa C++ para classificar 10.000 imagens de teste MNIST e, em seguida, registre o tempo de execução e calcule a precisão.
  • Implemente um kernel OpenCL que efetue a mesma tarefa.
  • Crie uma topologia de rede neural que melhore a precisão obtida no exercício de laboratório anterior, considerando as compensações necessárias no uso de recursos de precisão, tempo de execução e FPGA.

Baixar