CNN设计一些问题

前提条件:在成功安装tensorflow基础上

问题1:如何测试自己安装的tensorflow是否正确工作?

1 # -*- coding:utf-8 -*-
2 
3 # 这个文件主要是用来测试自己安装的tensorflow-gpu是否正确工作
4 
5 import tensorflow as tf
6 
7 hello = tf.constant('hello Tensorflow')
8 with tf.Session() as sess:
9     print(sess.run(hello))

 

问题2:如何计算CNN中的max_pool的输出尺寸?

# -*- coding:utf-8 -*-
import tensorflow as tf


# 可以在这里修改尺寸
input = tf.Variable(tf.random_normal([72,11,11,1]))

# max_pool窗口的尺寸和stride的尺寸
pool = tf.nn.max_pool(input, ksize=[1, 4, 4, 1], strides=[1, 4, 4, 1], padding="SAME")


with tf.Session() as sess:
    tf.initialize_all_variables().run()
    sess.run(pool)
    print(pool.shape)

 

问题3:填充方式VALID和SAME的区别?

 1 # -*- coding:utf-8 -*-
 2 
 3 import math
 4 
 5 # 这个文件主要用来对比一下VALID和SAME的区别
 6 
 7 # calculate size of output
 8 def calculate_output_size(padding, input_size, filter_size, stride):
 9     #
10     if padding == "VALID": # 不填充
11         return [math.ceil((input_size[0]-filter_size[0]+1)/stride[0]), math.ceil((input_size[1]-filter_size[1]+1)/stride[1])]
12     elif padding == "SAME": # 填充
13         return [math.ceil((input_size[0]/stride[0])), math.ceil((input_size[1]/stride[1]))]
14     else:
15         return None
16 
17 if __name__ == "__main__":
18     print(calculate_output_size('SAME', input_size=[128,128], filter_size=[5, 5], stride=[1,1]))

 

posted @ 2019-01-09 16:04  林木声  阅读(257)  评论(0编辑  收藏  举报