OpenVINO рдореЗрдВ GAN рдиреЗрдЯрд╡рд░реНрдХ рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ

OpenVINO рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА рдУрдкрди рдореЙрдбрд▓ рдЪрд┐рдбрд╝рд┐рдпрд╛рдШрд░ рдореЙрдбрд▓ рднрдВрдбрд╛рд░ рдХрдВрдкреНрдпреВрдЯрд░ рджреГрд╖реНрдЯрд┐ рдХреЗ рдХреНрд╖реЗрддреНрд░ рд╕реЗ рдЧрд╣рд░реА рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдХрдИ рдЕрд▓рдЧ рдЕрд▓рдЧ рдкреНрд░рдХрд╛рд░ рд╣реЛрддреЗ рд╣реИрдВ (рдФрд░ рди рдХреЗрд╡рд▓)ред рд▓реЗрдХрд┐рди рд╣рдо рдЕрднреА рддрдХ GAN рдореЙрдбрд▓ рд╕реЗ рдирд╣реАрдВ рдорд┐рд▓реЗ рд╣реИрдВ рдЬреЛ рд╢реЛрд░ рд╕реЗ рдирдпрд╛ рдбреЗрдЯрд╛ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдЧрд╛ред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдХреЗрд░рд╕ рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХрд╛ рдПрдХ рдореЙрдбрд▓ рдмрдирд╛рдПрдВрдЧреЗ рдФрд░ рдЗрд╕реЗ рдУрдкрдирд╡рд┐рдиреЛ рдореЗрдВ рдЪрд▓рд╛рдПрдВрдЧреЗред


рдкрд░рд┐рдЪрдп рдЫрд╡рд┐


GAN рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдмрддрд╛рдПрдВ


рдЕрдЪреНрдЫреЗ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рд╕рд╛рде рдЙрджрд╛рд░рддрд╛рдкреВрд░реНрд╡рдХ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рдиреЗрдЯрд╡рд░реНрдХ (рдЬреАрдПрдПрди) рдЖрдкрдХреЛ рд╢реЛрд░ рдпрд╛ рдЗрдирдкреБрдЯ рдЫрд╡рд┐рдпреЛрдВ рд╕реЗ рдирдИ рдЫрд╡рд┐рдпрд╛рдВ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рд╕рдВрд╢реНрд▓реЗрд╖рд┐рдд рдХреЗ рдмрдЬрд╛рдп рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдорд╛рдирд╛ рдЬрд╛рдПрдЧрд╛ред GAN рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рддреЗрдЬреА рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:


  • рдПрдХ рдЪрд┐рддреНрд░ рд╡рд░реНрдгрди рддреИрдпрд╛рд░ рдХрд░рдирд╛;
  • рд╡рд┐рд╡рд░рдг рджреНрд╡рд╛рд░рд╛ рдЪрд┐рддреНрд░ рдкреАрдврд╝реА;
  • рдлреЛрдЯреЛрдЧреНрд░рд╛рдлреА рд╕реЗ рдЗрдореЛрдЬреА рдмрдирд╛рдирд╛;
  • рдЫрд╡рд┐ рд╕рдВрдХрд▓реНрдк рдореЗрдВ рд╡реГрджреНрдзрд┐;
  • рдЫрд╡рд┐ рд╢реИрд▓реА рд╣рд╕реНрддрд╛рдВрддрд░рдг;
  • рдЪрд┐рдХрд┐рддреНрд╕рд╛ рдЫрд╡рд┐рдпреЛрдВ рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░;
  • рдлреЗрд╕ рдЬрдирд░реЗрд╢рди рдФрд░ рдмрд╣реБрдд рдХреБрдЫ, рдмрд╣реБрдд рдХреБрдЫред

рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ, рдЪрд▓реЛ рдЕрднреНрдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рдмрд┐рд▓реНрд▓реА рдХреА рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ OpenVINO GAN рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИред


GAN рдЫрд╡рд┐ рдирд┐рд░реНрдорд╛рдг


Keras, , MNIST. OpenVINO , GAN . , NVIDIA .


Keras : . GAN Keras .


, OpenVINO, OpenVINO .
5 .


рдЕрдВрдХ рдореИрдЯреНрд░рд┐рдХреНрд╕


GAN , , Fashion MNIST тАФ , тАФ . , ?


OpenVINO


OpenVINO : Caffe, Tensorflow, ONNX .. Keras, ONNX, ONNX OpenVINO. , , Keras->ONNX->OpenVINO , Keras->TensorFlow->OpenVINO. , ONNX , Tensorflow, .


Python Keras ONNX:


import numpy as np
import argparse
import onnx
import keras2onnx
from keras.models import load_model

model = load_model('gan_digits.h5')
onnx_model = keras2onnx.convert_keras(model, model.name)
onnx.save_model(onnx_model, 'gan_digits.onnx')

ONNX OpenVINO ( Windows) Model Optimizer:


python "C:\Program Files (x86)\IntelSWTools\openvino\deployment_tools\model_optimizer\mo.py" --input_model gan_digits.onnx --input_shape [100,100]

, , OpenVINO. :


import numpy as np
import sys
import matplotlib.pyplot as plt
from openvino.inference_engine import IENetwork, IECore

#  OpenVINO   
ie = IECore()
net = IENetwork(model='gan_digits_R2020.1.xml', weights='gan_digits_R2020.1.bin')
exec_net = ie.load_network(net, 'CPU')
input_blob = next(iter(net.inputs))
out_blob = next(iter(net.outputs))

#      
noise = np.random.normal(loc=0, scale=1, size=[100, 100])
generated_images = exec_net.infer(inputs={input_blob: noise})

#  
generated_images = generated_images['Tanh']
generated_images = generated_images.reshape(100, 28, 28)
figsize = (10, 10)
dim = (10, 10)
plt.figure(figsize=figsize)
for i in range(generated_images.shape[0]):
    plt.subplot(dim[0], dim[1], i + 1)
    plt.imshow(generated_images[i], interpolation='nearest', cmap='gray_r')
    plt.axis('off')
plt.tight_layout()
plt.show()

, . , , 100%.



OpenVINO . , , OpenVINO , .


, , styleGAN. :


styleGAN


styleGAN NVIDIA , . GitHub , GPU. OpenVINO.


, PyTorch ONNX ( OpenVINO). , , !


, , .
.


All Articles