基本用法

import tensorflow as tf import numpy as npdom

sess = tf.Session()ide

data_size = 25 data_ld = np.random.normal(size=data_size) x_input_id = tf.placeholder(dtype=tf.float32,shape=[data_size])函數

def conv_layer_1d(input_1d,my_filter): input_2d = tf.expand_dims(input_1d,0) input_3d = tf.expand_dims(input_2d,0) input_4d = tf.expand_dims(input_3d,3) #filter_height, filter_width, in_channels, out_channels]` convolution_output = tf.nn.conv2d(input_4d,filter= my_filter,strides=[1,1,1,1],padding='VALID') conv_out_1d = tf.squeeze(convolution_output) return (conv_out_1d)3d

my_filter = tf.Variable(tf.random_normal(shape=[1,5,1,1])) my_convolution_output = conv_layer_1d(x_input_id,my_filter)code

#激勵函數 def activation(input_1d): return (tf.nn.relu(input_1d)) my_actionvation_output = activation(my_convolution_output) #池化層 def max_pool(input_1d,width): input_2d = tf.expand_dims(input_1d,0) input_3d = tf.expand_dims(input_2d,0) input_4d = tf.expand_dims(input_3d,3) pool_output = tf.nn.max_pool(input_4d,ksize=[1,1,width,1],strides=[1,1,1,1],padding='VALID') pool_out_1d = tf.squeeze(pool_output) return pool_out_1d my_maxpool_output = max_pool(my_actionvation_output,width=5)orm

#全鏈接層 def fully_connnected(input_layer,num_outputs): weight_shape = tf.squeeze(tf.stack([tf.shape(input_layer),[num_outputs]]))input

weight = tf.random_normal(weight_shape,stddev=0.1)
bias = tf.random_normal(shape=[num_outputs])

input_layer_2d = tf.expand_dims(input_layer,0)
full_output = tf.add(tf.matmul(input_layer_2d,weight),bias)
full_output_1d = tf.squeeze(full_output)
return full_output_1d

my_full_output = fully_connnected(my_maxpool_output,5) init = tf.global_variables_initializer() sess.run(init)it

feed_dict = {x_input_id:data_ld} print('conv') print(sess.run(my_convolution_output,feed_dict=feed_dict))io

print(sess.run(my_actionvation_output,feed_dict=feed_dict)) print('pool') print(sess.run(my_maxpool_output,feed_dict=feed_dict)) print('full') print(sess.run(my_full_output,feed_dict=feed_dict))import

相關文章
相關標籤/搜索