基本用法

import tensorflow as tf import numpy as np

sess = tf.Session()

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)

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

#激励函数 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)

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

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)

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

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))

转载于:https://my.oschina.net/u/2511906/blog/2245100

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值