Wenlong Ding 
							
						 
					 
					
						
						
						
						
							
						
						
							b460595dd7 
							
						 
					 
					
						
						
							
							lavfi/dnn/dnn_backend_native_layer_mathunary: add exp support  
						
						... 
						
						
						
						Signed-off-by: Wenlong Ding <wenlong.ding@intel.com> 
						
						
					 
					
						2021-03-24 13:53:50 +08:00 
						 
				 
			
				
					
						
							
							
								Mingyu Yin 
							
						 
					 
					
						
						
						
						
							
						
						
							3477feb643 
							
						 
					 
					
						
						
							
							dnn_backend_native_layer_mathbinary: add floormod support  
						
						... 
						
						
						
						Signed-off-by: Mingyu Yin <mingyu.yin@intel.com> 
						
						
					 
					
						2020-08-24 09:09:11 +08:00 
						 
				 
			
				
					
						
							
							
								Mingyu Yin 
							
						 
					 
					
						
						
						
						
							
						
						
							4ed6bca4ae 
							
						 
					 
					
						
						
							
							dnn_backend_native_layer_mathunary: add round support  
						
						... 
						
						
						
						Signed-off-by: Mingyu Yin <mingyu.yin@intel.com>
Reviewed-by: Guo, Yejun <yejun.guo@intel.com> 
						
						
					 
					
						2020-08-12 10:30:46 +08:00 
						 
				 
			
				
					
						
							
							
								Mingyu Yin 
							
						 
					 
					
						
						
						
						
							
						
						
							fab00b0ae0 
							
						 
					 
					
						
						
							
							dnn_backend_native_layer_mathunary: add floor support  
						
						... 
						
						
						
						It can be tested with the model generated with below python script:
import tensorflow as tf
import os
import numpy as np
import imageio
from tensorflow.python.framework import graph_util
name = 'floor'
pb_file_path = os.getcwd()
if not os.path.exists(pb_file_path+'/{}_savemodel/'.format(name)):
    os.mkdir(pb_file_path+'/{}_savemodel/'.format(name))
with tf.Session(graph=tf.Graph()) as sess:
    in_img = imageio.imread('detection.jpg')
    in_img = in_img.astype(np.float32)
    in_data = in_img[np.newaxis, :]
    input_x = tf.placeholder(tf.float32, shape=[1, None, None, 3], name='dnn_in')
    y_ = tf.math.floor(input_x*255)/255
    y = tf.identity(y_, name='dnn_out')
    sess.run(tf.global_variables_initializer())
    constant_graph = graph_util.convert_variables_to_constants(sess, sess.graph_def, ['dnn_out'])
    with tf.gfile.FastGFile(pb_file_path+'/{}_savemodel/model.pb'.format(name), mode='wb') as f:
        f.write(constant_graph.SerializeToString())
    print("model.pb generated, please in ffmpeg path use\n \n \
    python tools/python/convert.py {}_savemodel/model.pb --outdir={}_savemodel/ \n \nto generate model.model\n".format(name,name))
    output = sess.run(y, feed_dict={ input_x: in_data})
    imageio.imsave("out.jpg", np.squeeze(output))
    print("To verify, please ffmpeg path use\n \n \
    ./ffmpeg -i detection.jpg -vf format=rgb24,dnn_processing=model={}_savemodel/model.pb:input=dnn_in:output=dnn_out:dnn_backend=tensorflow -f framemd5 {}_savemodel/tensorflow_out.md5\n  \
    or\n \
    ./ffmpeg -i detection.jpg -vf format=rgb24,dnn_processing=model={}_savemodel/model.pb:input=dnn_in:output=dnn_out:dnn_backend=tensorflow {}_savemodel/out_tensorflow.jpg\n \nto generate output result of tensorflow model\n".format(name, name, name, name))
    print("To verify, please ffmpeg path use\n \n \
    ./ffmpeg -i detection.jpg -vf format=rgb24,dnn_processing=model={}_savemodel/model.model:input=dnn_in:output=dnn_out:dnn_backend=native -f framemd5 {}_savemodel/native_out.md5\n  \
    or \n \
    ./ffmpeg -i detection.jpg -vf format=rgb24,dnn_processing=model={}_savemodel/model.model:input=dnn_in:output=dnn_out:dnn_backend=native {}_savemodel/out_native.jpg\n \nto generate output result of native model\n".format(name, name, name, name))
Signed-off-by: Mingyu Yin <mingyu.yin@intel.com> 
						
						
					 
					
						2020-08-07 10:34:22 +08:00 
						 
				 
			
				
					
						
							
							
								Mingyu Yin 
							
						 
					 
					
						
						
						
						
							
						
						
							9fbdd5454b 
							
						 
					 
					
						
						
							
							dnn_backend_native_layer_mathunary: add ceil support  
						
						... 
						
						
						
						It can be tested with the model generated with below python script:
import tensorflow as tf
import os
import numpy as np
import imageio
from tensorflow.python.framework import graph_util
name = 'ceil'
pb_file_path = os.getcwd()
if not os.path.exists(pb_file_path+'/{}_savemodel/'.format(name)):
    os.mkdir(pb_file_path+'/{}_savemodel/'.format(name))
with tf.Session(graph=tf.Graph()) as sess:
    in_img = imageio.imread('detection.jpg')
    in_img = in_img.astype(np.float32)
    in_data = in_img[np.newaxis, :]
    input_x = tf.placeholder(tf.float32, shape=[1, None, None, 3], name='dnn_in')
    y = tf.math.ceil( input_x, name='dnn_out')
    sess.run(tf.global_variables_initializer())
    constant_graph = graph_util.convert_variables_to_constants(sess, sess.graph_def, ['dnn_out'])
    with tf.gfile.FastGFile(pb_file_path+'/{}_savemodel/model.pb'.format(name), mode='wb') as f:
        f.write(constant_graph.SerializeToString())
    print("model.pb generated, please in ffmpeg path use\n \n \
    python tools/python/convert.py ceil_savemodel/model.pb --outdir=ceil_savemodel/ \n \n \
    to generate model.model\n")
    output = sess.run(y, feed_dict={ input_x: in_data})
    imageio.imsave("out.jpg", np.squeeze(output))
    print("To verify, please ffmpeg path use\n \n \
    ./ffmpeg -i detection.jpg -vf format=rgb24,dnn_processing=model=ceil_savemodel/model.pb:input=dnn_in:output=dnn_out:dnn_backend=tensorflow -f framemd5 ceil_savemodel/tensorflow_out.md5\n \n \
    to generate output result of tensorflow model\n")
    print("To verify, please ffmpeg path use\n \n \
    ./ffmpeg -i detection.jpg -vf format=rgb24,dnn_processing=model=ceil_savemodel/model.model:input=dnn_in:output=dnn_out:dnn_backend=native -f framemd5 ceil_savemodel/native_out.md5\n \n \
    to generate output result of native model\n")
Signed-off-by: Mingyu Yin <mingyu.yin@intel.com>
Reviewed-by: Guo, Yejun <yejun.guo@intel.com> 
						
						
					 
					
						2020-08-04 19:56:54 +08:00 
						 
				 
			
				
					
						
							
							
								Ting Fu 
							
						 
					 
					
						
						
						
						
							
						
						
							c0cdeea0ee 
							
						 
					 
					
						
						
							
							dnn_backend_native_layer_mathunary: add atanh support  
						
						... 
						
						
						
						It can be tested with the model generated with below python script:
import tensorflow as tf
import numpy as np
import imageio
in_img = imageio.imread('input.jpeg')
in_img = in_img.astype(np.float32)/255.0
in_data = in_img[np.newaxis, :]
x = tf.placeholder(tf.float32, shape=[1, None, None, 3], name='dnn_in')
please uncomment the part you want to test
x_sinh_1 = tf.sinh(x)
x_out = tf.divide(x_sinh_1, 1.176) # sinh(1.0)
x_cosh_1 = tf.cosh(x)
x_out = tf.divide(x_cosh_1, 1.55) # cosh(1.0)
x_tanh_1 = tf.tanh(x)
x__out = tf.divide(x_tanh_1, 0.77) # tanh(1.0)
x_asinh_1 = tf.asinh(x)
x_out = tf.divide(x_asinh_1, 0.89) # asinh(1.0/1.1)
x_acosh_1 = tf.add(x, 1.1)
x_acosh_2 = tf.acosh(x_acosh_1) # accept (1, inf)
x_out = tf.divide(x_acosh_2, 1.4) # acosh(2.1)
x_atanh_1 = tf.divide(x, 1.1)
x_atanh_2 = tf.atanh(x_atanh_1) # accept (-1, 1)
x_out = tf.divide(x_atanh_2, 1.55) # atanhh(1.0/1.1)
y = tf.identity(x_out, name='dnn_out') #please only preserve the x_out you want to test
sess=tf.Session()
sess.run(tf.global_variables_initializer())
graph_def = tf.graph_util.convert_variables_to_constants(sess, sess.graph_def, ['dnn_out'])
tf.train.write_graph(graph_def, '.', 'image_process.pb', as_text=False)
print("image_process.pb generated, please use \
path_to_ffmpeg/tools/python/convert.py to generate image_process.model\n")
output = sess.run(y, feed_dict={x: in_data})
imageio.imsave("out.jpg", np.squeeze(output))
Signed-off-by: Ting Fu <ting.fu@intel.com> 
						
						
					 
					
						2020-07-06 12:45:14 +08:00 
						 
				 
			
				
					
						
							
							
								Ting Fu 
							
						 
					 
					
						
						
						
						
							
						
						
							cd2e3a864d 
							
						 
					 
					
						
						
							
							dnn_backend_native_layer_mathunary: add acosh support  
						
						... 
						
						
						
						Signed-off-by: Ting Fu <ting.fu@intel.com> 
						
						
					 
					
						2020-07-06 12:45:14 +08:00 
						 
				 
			
				
					
						
							
							
								Ting Fu 
							
						 
					 
					
						
						
						
						
							
						
						
							9d14b38d9d 
							
						 
					 
					
						
						
							
							dnn_backend_native_layer_mathunary: add asinh support  
						
						... 
						
						
						
						Signed-off-by: Ting Fu <ting.fu@intel.com> 
						
						
					 
					
						2020-07-06 12:45:14 +08:00 
						 
				 
			
				
					
						
							
							
								Ting Fu 
							
						 
					 
					
						
						
						
						
							
						
						
							ea71e731f4 
							
						 
					 
					
						
						
							
							dnn_backend_native_layer_mathunary: add tanh support  
						
						... 
						
						
						
						Signed-off-by: Ting Fu <ting.fu@intel.com> 
						
						
					 
					
						2020-07-06 12:45:14 +08:00 
						 
				 
			
				
					
						
							
							
								Ting Fu 
							
						 
					 
					
						
						
						
						
							
						
						
							62fc7e3035 
							
						 
					 
					
						
						
							
							dnn_backend_native_layer_mathunary: add cosh support  
						
						... 
						
						
						
						Signed-off-by: Ting Fu <ting.fu@intel.com> 
						
						
					 
					
						2020-07-06 12:45:14 +08:00 
						 
				 
			
				
					
						
							
							
								Ting Fu 
							
						 
					 
					
						
						
						
						
							
						
						
							91b4037101 
							
						 
					 
					
						
						
							
							dnn_backend_native_layer_mathunary: add sinh support  
						
						... 
						
						
						
						Signed-off-by: Ting Fu <ting.fu@intel.com> 
						
						
					 
					
						2020-07-06 12:45:14 +08:00 
						 
				 
			
				
					
						
							
							
								Ting Fu 
							
						 
					 
					
						
						
						
						
							
						
						
							13f5613e68 
							
						 
					 
					
						
						
							
							dnn_backend_native_layer_mathunary: add atan support  
						
						... 
						
						
						
						It can be tested with the model generated with below python script:
import tensorflow as tf
import numpy as np
import imageio
in_img = imageio.imread('input.jpeg')
in_img = in_img.astype(np.float32)/255.0
in_data = in_img[np.newaxis, :]
x = tf.placeholder(tf.float32, shape=[1, None, None, 3], name='dnn_in')
x1 = tf.atan(x)
x2 = tf.divide(x1, 3.1416/4) # pi/4
y = tf.identity(x2, name='dnn_out')
sess=tf.Session()
sess.run(tf.global_variables_initializer())
graph_def = tf.graph_util.convert_variables_to_constants(sess, sess.graph_def, ['dnn_out'])
tf.train.write_graph(graph_def, '.', 'image_process.pb', as_text=False)
print("image_process.pb generated, please use \
path_to_ffmpeg/tools/python/convert.py to generate image_process.model\n")
output = sess.run(y, feed_dict={x: in_data})
imageio.imsave("out.jpg", np.squeeze(output))
Signed-off-by: Ting Fu <ting.fu@intel.com>
Signed-off-by: Guo Yejun <yejun.guo@intel.com> 
						
						
					 
					
						2020-06-25 08:41:50 +08:00 
						 
				 
			
				
					
						
							
							
								Ting Fu 
							
						 
					 
					
						
						
						
						
							
						
						
							461485feac 
							
						 
					 
					
						
						
							
							dnn_backend_native_layer_mathunary: add acos support  
						
						... 
						
						
						
						It can be tested with the model generated with below python script:
import tensorflow as tf
import numpy as np
import imageio
in_img = imageio.imread('input.jpeg')
in_img = in_img.astype(np.float32)/255.0
in_data = in_img[np.newaxis, :]
x = tf.placeholder(tf.float32, shape=[1, None, None, 3], name='dnn_in')
x1 = tf.acos(x)
x2 = tf.divide(x1, 3.1416/2) # pi/2
y = tf.identity(x2, name='dnn_out')
sess=tf.Session()
sess.run(tf.global_variables_initializer())
graph_def = tf.graph_util.convert_variables_to_constants(sess, sess.graph_def, ['dnn_out'])
tf.train.write_graph(graph_def, '.', 'image_process.pb', as_text=False)
print("image_process.pb generated, please use \
path_to_ffmpeg/tools/python/convert.py to generate image_process.model\n")
output = sess.run(y, feed_dict={x: in_data})
imageio.imsave("out.jpg", np.squeeze(output))
Signed-off-by: Ting Fu <ting.fu@intel.com>
Signed-off-by: Guo Yejun <yejun.guo@intel.com> 
						
						
					 
					
						2020-06-25 08:41:50 +08:00 
						 
				 
			
				
					
						
							
							
								Ting Fu 
							
						 
					 
					
						
						
						
						
							
						
						
							486c0c419d 
							
						 
					 
					
						
						
							
							dnn_backend_native_layer_mathunary: add asin support  
						
						... 
						
						
						
						It can be tested with the model generated with below python script:
import tensorflow as tf
import numpy as np
import imageio
in_img = imageio.imread('input.jpeg')
in_img = in_img.astype(np.float32)/255.0
in_data = in_img[np.newaxis, :]
x = tf.placeholder(tf.float32, shape=[1, None, None, 3], name='dnn_in')
x1 = tf.asin(x)
x2 = tf.divide(x1, 3.1416/2) # pi/2
y = tf.identity(x2, name='dnn_out')
sess=tf.Session()
sess.run(tf.global_variables_initializer())
graph_def = tf.graph_util.convert_variables_to_constants(sess, sess.graph_def, ['dnn_out'])
tf.train.write_graph(graph_def, '.', 'image_process.pb', as_text=False)
print("image_process.pb generated, please use \
path_to_ffmpeg/tools/python/convert.py to generate image_process.model\n")
output = sess.run(y, feed_dict={x: in_data})
imageio.imsave("out.jpg", np.squeeze(output))
Signed-off-by: Ting Fu <ting.fu@intel.com>
Signed-off-by: Guo Yejun <yejun.guo@intel.com> 
						
						
					 
					
						2020-06-25 08:41:50 +08:00 
						 
				 
			
				
					
						
							
							
								Ting Fu 
							
						 
					 
					
						
						
						
						
							
						
						
							22d0860c13 
							
						 
					 
					
						
						
							
							dnn_backend_native_layer_mathunary: add tan support  
						
						... 
						
						
						
						It can be tested with the model generated with below python scripy
import tensorflow as tf
import numpy as np
import imageio
in_img = imageio.imread('input.jpeg')
in_img = in_img.astype(np.float32)/255.0
in_data = in_img[np.newaxis, :]
x = tf.placeholder(tf.float32, shape=[1, None, None, 3], name='dnn_in')
x1 = tf.multiply(x, 0.78)
x2 = tf.tan(x1)
y = tf.identity(x2, name='dnn_out')
sess=tf.Session()
sess.run(tf.global_variables_initializer())
graph_def = tf.graph_util.convert_variables_to_constants(sess, sess.graph_def, ['dnn_out'])
tf.train.write_graph(graph_def, '.', 'image_process.pb', as_text=False)
print("image_process.pb generated, please use \
path_to_ffmpeg/tools/python/convert.py to generate image_process.model\n")
output = sess.run(y, feed_dict={x: in_data})
imageio.imsave("out.jpg", np.squeeze(output))
Signed-off-by: Ting Fu <ting.fu@intel.com>
Signed-off-by: Guo Yejun <yejun.guo@intel.com> 
						
						
					 
					
						2020-06-11 11:10:51 +08:00 
						 
				 
			
				
					
						
							
							
								Ting Fu 
							
						 
					 
					
						
						
						
						
							
						
						
							88fb494f42 
							
						 
					 
					
						
						
							
							dnn_backend_native_layer_mathunary: add cos support  
						
						... 
						
						
						
						It can be tested with the model generated with below python scripy
import tensorflow as tf
import numpy as np
import imageio
in_img = imageio.imread('input.jpeg')
in_img = in_img.astype(np.float32)/255.0
in_data = in_img[np.newaxis, :]
x = tf.placeholder(tf.float32, shape=[1, None, None, 3], name='dnn_in')
x1 = tf.multiply(x, 1.5)
x2 = tf.cos(x1)
y = tf.identity(x2, name='dnn_out')
sess=tf.Session()
sess.run(tf.global_variables_initializer())
graph_def = tf.graph_util.convert_variables_to_constants(sess, sess.graph_def, ['dnn_out'])
tf.train.write_graph(graph_def, '.', 'image_process.pb', as_text=False)
print("image_process.pb generated, please use \
path_to_ffmpeg/tools/python/convert.py to generate image_process.model\n")
output = sess.run(y, feed_dict={x: in_data})
imageio.imsave("out.jpg", np.squeeze(output))
Signed-off-by: Ting Fu <ting.fu@intel.com>
Signed-off-by: Guo Yejun <yejun.guo@intel.com> 
						
						
					 
					
						2020-06-11 11:10:51 +08:00 
						 
				 
			
				
					
						
							
							
								Ting Fu 
							
						 
					 
					
						
						
						
						
							
						
						
							0b6d3f0d83 
							
						 
					 
					
						
						
							
							dnn_backend_native_layer_mathunary: add sin support  
						
						... 
						
						
						
						It can be tested with the model file generated with below python scripy:
import tensorflow as tf
import numpy as np
import imageio
in_img = imageio.imread('input.jpeg')
in_img = in_img.astype(np.float32)/255.0
in_data = in_img[np.newaxis, :]
x = tf.placeholder(tf.float32, shape=[1, None, None, 3], name='dnn_in')
x1 = tf.multiply(x, 3.14)
x2 = tf.sin(x1)
y = tf.identity(x2, name='dnn_out')
sess=tf.Session()
sess.run(tf.global_variables_initializer())
graph_def = tf.graph_util.convert_variables_to_constants(sess, sess.graph_def, ['dnn_out'])
tf.train.write_graph(graph_def, '.', 'image_process.pb', as_text=False)
print("image_process.pb generated, please use \
path_to_ffmpeg/tools/python/convert.py to generate image_process.model\n")
output = sess.run(y, feed_dict={x: in_data})
imageio.imsave("out.jpg", np.squeeze(output))
Signed-off-by: Ting Fu <ting.fu@intel.com>
Signed-off-by: Guo Yejun <yejun.guo@intel.com> 
						
						
					 
					
						2020-06-11 11:10:51 +08:00 
						 
				 
			
				
					
						
							
							
								Ting Fu 
							
						 
					 
					
						
						
						
						
							
						
						
							f73cc61bf5 
							
						 
					 
					
						
						
							
							dnn_backend_native_layer_mathunary: add abs support  
						
						... 
						
						
						
						more math unary operations will be added here
It can be tested with the model file generated with below python scripy:
import tensorflow as tf
import numpy as np
import imageio
in_img = imageio.imread('input.jpeg')
in_img = in_img.astype(np.float32)/255.0
in_data = in_img[np.newaxis, :]
x = tf.placeholder(tf.float32, shape=[1, None, None, 3], name='dnn_in')
x1 = tf.subtract(x, 0.5)
x2 = tf.abs(x1)
y = tf.identity(x2, name='dnn_out')
sess=tf.Session()
sess.run(tf.global_variables_initializer())
graph_def = tf.graph_util.convert_variables_to_constants(sess, sess.graph_def, ['dnn_out'])
tf.train.write_graph(graph_def, '.', 'image_process.pb', as_text=False)
print("image_process.pb generated, please use \
path_to_ffmpeg/tools/python/convert.py to generate image_process.model\n")
output = sess.run(y, feed_dict={x: in_data})
imageio.imsave("out.jpg", np.squeeze(output))
Signed-off-by: Ting Fu <ting.fu@intel.com>
Signed-off-by: Guo, Yejun <yejun.guo@intel.com> 
						
						
					 
					
						2020-05-28 11:04:21 +08:00 
						 
				 
			
				
					
						
							
							
								Guo, Yejun 
							
						 
					 
					
						
						
						
						
							
						
						
							71e28c5422 
							
						 
					 
					
						
						
							
							dnn/native: add native support for minimum  
						
						... 
						
						
						
						it can be tested with model file generated with below python script:
import tensorflow as tf
import numpy as np
import imageio
in_img = imageio.imread('input.jpg')
in_img = in_img.astype(np.float32)/255.0
in_data = in_img[np.newaxis, :]
x = tf.placeholder(tf.float32, shape=[1, None, None, 3], name='dnn_in')
x1 = tf.minimum(0.7, x)
x2 = tf.maximum(x1, 0.4)
y = tf.identity(x2, name='dnn_out')
sess=tf.Session()
sess.run(tf.global_variables_initializer())
graph_def = tf.graph_util.convert_variables_to_constants(sess, sess.graph_def, ['dnn_out'])
tf.train.write_graph(graph_def, '.', 'image_process.pb', as_text=False)
print("image_process.pb generated, please use \
path_to_ffmpeg/tools/python/convert.py to generate image_process.model\n")
output = sess.run(y, feed_dict={x: in_data})
imageio.imsave("out.jpg", np.squeeze(output))
Signed-off-by: Guo, Yejun <yejun.guo@intel.com> 
						
						
					 
					
						2020-05-08 15:22:27 +08:00 
						 
				 
			
				
					
						
							
							
								Guo, Yejun 
							
						 
					 
					
						
						
						
						
							
						
						
							8ce9d88f93 
							
						 
					 
					
						
						
							
							dnn/native: add native support for divide  
						
						... 
						
						
						
						it can be tested with model file generated with below python script:
import tensorflow as tf
import numpy as np
import imageio
in_img = imageio.imread('input.jpg')
in_img = in_img.astype(np.float32)/255.0
in_data = in_img[np.newaxis, :]
x = tf.placeholder(tf.float32, shape=[1, None, None, 3], name='dnn_in')
z1 = 2 / x
z2 = 1 / z1
z3 = z2 / 0.25 + 0.3
z4 = z3 - x * 1.5 - 0.3
y = tf.identity(z4, name='dnn_out')
sess=tf.Session()
sess.run(tf.global_variables_initializer())
graph_def = tf.graph_util.convert_variables_to_constants(sess, sess.graph_def, ['dnn_out'])
tf.train.write_graph(graph_def, '.', 'image_process.pb', as_text=False)
print("image_process.pb generated, please use \
path_to_ffmpeg/tools/python/convert.py to generate image_process.model\n")
output = sess.run(y, feed_dict={x: in_data})
imageio.imsave("out.jpg", np.squeeze(output))
Signed-off-by: Guo, Yejun <yejun.guo@intel.com> 
						
						
					 
					
						2020-04-22 13:15:00 +08:00 
						 
				 
			
				
					
						
							
							
								Guo, Yejun 
							
						 
					 
					
						
						
						
						
							
						
						
							ef79408e97 
							
						 
					 
					
						
						
							
							dnn/native: add native support for 'mul'  
						
						... 
						
						
						
						it can be tested with model file generated from above python script:
import tensorflow as tf
import numpy as np
import imageio
in_img = imageio.imread('input.jpg')
in_img = in_img.astype(np.float32)/255.0
in_data = in_img[np.newaxis, :]
x = tf.placeholder(tf.float32, shape=[1, None, None, 3], name='dnn_in')
z1 = 0.5 + 0.3 * x
z2 = z1 * 4
z3 = z2 - x - 2.0
y = tf.identity(z3, name='dnn_out')
sess=tf.Session()
sess.run(tf.global_variables_initializer())
graph_def = tf.graph_util.convert_variables_to_constants(sess, sess.graph_def, ['dnn_out'])
tf.train.write_graph(graph_def, '.', 'image_process.pb', as_text=False)
print("image_process.pb generated, please use \
path_to_ffmpeg/tools/python/convert.py to generate image_process.model\n")
output = sess.run(y, feed_dict={x: in_data})
imageio.imsave("out.jpg", np.squeeze(output))
Signed-off-by: Guo, Yejun <yejun.guo@intel.com> 
						
						
					 
					
						2020-04-22 13:14:47 +08:00 
						 
				 
			
				
					
						
							
							
								Guo, Yejun 
							
						 
					 
					
						
						
						
						
							
						
						
							6aa7e07e7c 
							
						 
					 
					
						
						
							
							dnn/native: add native support for 'add'  
						
						... 
						
						
						
						It can be tested with the model file generated with below python script:
import tensorflow as tf
import numpy as np
import imageio
in_img = imageio.imread('input.jpg')
in_img = in_img.astype(np.float32)/255.0
in_data = in_img[np.newaxis, :]
x = tf.placeholder(tf.float32, shape=[1, None, None, 3], name='dnn_in')
z1 = 0.039 + x
z2 = x + 0.042
z3 = z1 + z2
z4 = z3 - 0.381
z5 = z4 - x
y = tf.math.maximum(z5, 0.0, name='dnn_out')
sess=tf.Session()
sess.run(tf.global_variables_initializer())
graph_def = tf.graph_util.convert_variables_to_constants(sess, sess.graph_def, ['dnn_out'])
tf.train.write_graph(graph_def, '.', 'image_process.pb', as_text=False)
print("image_process.pb generated, please use \
path_to_ffmpeg/tools/python/convert.py to generate image_process.model\n")
output = sess.run(y, feed_dict={x: in_data})
imageio.imsave("out.jpg", np.squeeze(output))
Signed-off-by: Guo, Yejun <yejun.guo@intel.com> 
						
						
					 
					
						2020-04-22 13:14:30 +08:00 
						 
				 
			
				
					
						
							
							
								Guo, Yejun 
							
						 
					 
					
						
						
						
						
							
						
						
							ffa1561608 
							
						 
					 
					
						
						
							
							dnn_backend_native_layer_mathbinary: add sub support  
						
						... 
						
						
						
						more math binary operations will be added here
Signed-off-by: Guo, Yejun <yejun.guo@intel.com> 
						
						
					 
					
						2020-04-07 11:04:34 +08:00 
						 
				 
			
				
					
						
							
							
								Guo, Yejun 
							
						 
					 
					
						
						
						
						
							
						
						
							dff39ea9f0 
							
						 
					 
					
						
						
							
							dnn: add tf.nn.conv2d support for native model  
						
						... 
						
						
						
						Unlike other tf.*.conv2d layers, tf.nn.conv2d does not create many
nodes (within a scope) in the graph, it just acts like other layers.
tf.nn.conv2d only creates one node in the graph, and no internal
nodes such as 'kernel' are created.
The format of native model file is also changed, a flag named
has_bias is added, so change the version number.
Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
Signed-off-by: Pedro Arthur <bygrandao@gmail.com> 
						
						
					 
					
						2019-10-30 10:31:55 -03:00 
						 
				 
			
				
					
						
							
							
								Guo, Yejun 
							
						 
					 
					
						
						
						
						
							
						
						
							b2683c66b2 
							
						 
					 
					
						
						
							
							libavfilter/dnn: add layer maximum for native mode.  
						
						... 
						
						
						
						The reason to add this layer is that it is used by srcnn in vf_sr.
This layer is currently ignored in native mode. After this patch,
we can add multiple outputs support for native mode.
Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
Signed-off-by: Pedro Arthur <bygrandao@gmail.com> 
						
						
					 
					
						2019-09-20 10:57:18 -03:00 
						 
				 
			
				
					
						
							
							
								Guo, Yejun 
							
						 
					 
					
						
						
						
						
							
						
						
							022f50d3fe 
							
						 
					 
					
						
						
							
							libavfilter/dnn: add header into native model file  
						
						... 
						
						
						
						Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
Signed-off-by: Pedro Arthur <bygrandao@gmail.com> 
						
						
					 
					
						2019-09-04 11:13:21 -03:00