26
Minicurso: Inteligência Artificial Aplicada a Sistemas Elétricos Flávio Mello, DSc Niterói, 12 de Maio de 2018 Capítulo: Inteligência Artificial na Arquitetura Intel

Minicurso: Inteligência Artificial Aplicada a Sistemas ...sbse2018.sites.uff.br/wp-content/uploads/sites/164/2018/09/Machine... · Jobs are scheduled on Intel® Xeon® Scalable Processors

  • Upload
    ngocong

  • View
    217

  • Download
    0

Embed Size (px)

Citation preview

Minicurso: Inteligência Artificial Aplicada a Sistemas Elétricos

Flávio Mello, DSc

Niterói, 12 de Maio de 2018

Capítulo: Inteligência Artificial na Arquitetura Intel

Centro de Excelência em IA da Intel

2

Linha de Base

3

Linha de Base

4

Portfolio de IA da Intel

5

Frameworks de DL Otimizados para CPU

6

Ambiente de Computação

7

Mapeia os frameworks em hardwares otimizados

baseados em diferentes tecnologias

Horizonte: nGraph

8

Ambiente na nuvem pronto para uso

– Intel® Software Optimization for neon™

– TensorFlow* on Intel® Architecture

– Intel® Optimizations for MXNet*

– Intel® Distribution for Caffe*

– Intel® Distribution for Python* 2.7 and 3.6 including NumPy, SciPy,

pandas, scikit-learn, Jupyter, matplotlib, and mpi4py

– Intel® Software Optimization for Keras*

– Intel® Software Optimization for Theano*

– Intel Nervana AI platforms and technologies that become available

in the future

Dev Cloud

9 https://ai.intel.com/devcloud/

Jobs are scheduled on Intel® Xeon® Scalable

Processors.

Each processor has 24 cores with 2-way hyper-

threading.

Each processor has access to 96 GB of on-platform

RAM (DDR4)

Only one job will run on any processor at a time.

You will get 200 GB of file storage quota.

Your home directory is not visible to other users.

Once your access period expires, your home directory

on the cluster will be deleted.

Dev Cloud

10

First steps no seu computador

11

# Go to home directory

cd ~

# You can change what anaconda version you want at

# https://repo.continuum.io/archive/

wget https://repo.continuum.io/archive/Anaconda2-4.2.0-Linux-x86_64.sh

bash Anaconda2-4.2.0-Linux-x86_64.sh -b -p ~/anaconda

rm Anaconda2-4.2.0-Linux-x86_64.sh

echo 'export PATH="~/anaconda/bin:$PATH"' >> ~/.bashrc

# Refresh basically

source .bashrc

conda update conda

Conda Install

13

Instalação

$ conda create -n <nome do ambiente>

$ source activate <nome do ambiente>

$ conda install -c intel intelpython<2/3>_full

Atualizações (dentro do venv)

$ sudo /opt/intel/intelpython<2/3>/bin/conda update intelpython<2/3>_full

Instalação de bibliotecas e frameworks

14

Pacotes (dentro do venv)

$ conda list

Para entrar no virtual environment

$source /opt/intel/intelpython<2/3>/bin/activate <nome do ambiente>

Para desativar o ambiente

$ source deactivate

Instalação de bibliotecas e frameworks

15

Dê a caneta ao Michel

Donner le stylo à Michael

Python Compiler/Interpreter Pipeline

16

binary

source

code

Análise

Léxica

Análise

Sintática

Análise

Semântica

Dê a caneta ao Michel

Donner le stylo à Michael

Python Compiler/Interpreter Pipeline

17

binary

source

code

Análise

Léxica

Análise

Sintática

Análise

Semântica

Um homem entrou no restaurante e pediu um hamburger.

Quando o hamburger chegou, ficou muito satisfeito e, ao

deixar o restaurante, deu a garçonete uma boa gorjeta antes

de pagar a conta.

Um homem entrou no restaurante e pediu um hamburger.

Quando o hamburger chegou, a carne estava queimada, e o

homem saiu do restaurante furioso, sem pagar a conta ou

deixar gorjeta

Python Compiler/Interpreter Pipeline

18

binary

source

code

Análise

Léxica

Análise

Sintática

Análise

Semântica

Python Compiler/Interpreter Pipeline

19

Checagem

de

Escopo

Checagem

de

Tipo

.bin .src Análise

Léxica

Análise

Sintática

Análise

Semântica

Python Compiler/Interpreter Pipeline

20

.bin .src Análise

Léxica

Análise

Sintática

Análise

Semântica

Geração

de

Código

Intermediário

Otimização

de

Código

Geração

de

Código

Final

Python Compiler/Interpreter Pipeline

21

Começar a programar

22

$ python mult_matrix.py

MxK . KxN = MxN (10.000 x 6.000)

Observar:

• Tempo de Execução

• GFlops

• 2o Momento: os cores no Utilities | System

Monitor

Hands on

23

$ python fourier.py

Array de 50 M valores

Observar:

• Tempo de Execução

• 2o Momento: os cores no Utilities | System

Monitor

Hands on

24

$ python treino.py

Multi Layer Perceptron variando taxa de

aprendizado, 76mil registros, 98 colunas

Observar:

• Tempo de Execução

• 2o Momento: os cores no Utilities | System

Monitor

Hands on

25

$ python kmeansclustering.py

K-Means com 2 clusters, cada cluster com 10M

elementos 2D

Observar:

• Tempo de Execução

• 2o Momento: os cores no Utilities | System

Monitor

Hands on

26