#第一种yolo3中程序

def convolutional(input_data, filters_shape, trainable, name, downsample=False, activate=True, bn=True):
#卷积层名称
with tf.variable_scope(name):
#如果需要下采样
if downsample:
pad_h, pad_w = (filters_shape[0] - 2) // 2 + 1, (filters_shape[1] - 2) // 2 + 1
paddings = tf.constant([[0, 0], [pad_h, pad_h], [pad_w, pad_w], [0, 0]])
input_data = tf.pad(input_data, paddings, 'CONSTANT')
strides = (1, 2, 2, 1)
padding = 'VALID'
else:
strides = (1, 1, 1, 1)
padding = "SAME"
#定义一个变量
weight = tf.get_variable(name='weight', dtype=tf.float32, trainable=True,
shape=filters_shape, initializer=tf.random_normal_initializer(stddev=0.01))
conv = tf.nn.conv2d(input=input_data, filter=weight, strides=strides, padding=padding)
#如果归一化
if bn:
conv = tf.layers.batch_normalization(conv, beta_initializer=tf.zeros_initializer(),
gamma_initializer=tf.ones_initializer(),
moving_mean_initializer=tf.zeros_initializer(),
moving_variance_initializer=tf.ones_initializer(), training=trainable) #如果不归一化
else:
bias = tf.get_variable(name='bias', shape=filters_shape[-1], trainable=True,
dtype=tf.float32, initializer=tf.constant_initializer(0.0))
conv = tf.nn.bias_add(conv, bias) if activate == True: conv = tf.nn.leaky_relu(conv, alpha=0.1) return conv
input_data = common.convolutional(input_data, filters_shape=(3, 3,  3,  32), trainable=trainable, name='conv0')

#第二种yolo1
def _conv_layer(self, x, num_filters, filter_size, stride,scope):

    in_channels = x.get_shape().as_list()[-1]
weight = tf.Variable(tf.truncated_normal([filter_size, filter_size,
in_channels, num_filters], stddev=0.1),name='weights')
bias = tf.Variable(tf.zeros([num_filters,]),name='biases') pad_size = filter_size // 2
pad_mat = np.array([[0, 0], [pad_size, pad_size], [pad_size, pad_size], [0, 0]])
x_pad = tf.pad(x, pad_mat)
conv = tf.nn.conv2d(x_pad, weight, strides=[1, stride, stride, 1], padding="VALID",name=scope)
output = self.leak_relu(tf.nn.bias_add(conv, bias)) return output
net = self._conv_layer(net,  512, 1, 1,'conv_22')

最新文章

  1. 55. 2种方法求字符串的组合[string combination]
  2. AngularJS 控制器
  3. android相关技能
  4. HDU 4920 Matrix multiplication 矩阵相乘。稀疏矩阵
  5. VC++多线程编程
  6. Android优秀资源整理合集(论菜鸟到高级攻城狮)
  7. WCF基礎
  8. NGUI List<EventDelegate> 小坑
  9. BootStrap2学习日记11---单选框多选框
  10. Unity 随机数的使用
  11. Sql Sever 字符串截取汉字
  12. ssh "openssh-daemon is stopped"操作之伤+sftp访问“-bash: /dev/null: Permission denied”
  13. 妙味H5交互篇备忘
  14. mvc页面中,显示自定义时间格式
  15. Delphi操作XML
  16. 会话控制之session和cookie(20161107)
  17. Spring in action记录
  18. Jquery 使用和Jquery选择器
  19. Notepad++和Sublime单词首字符大小写转化问题
  20. ionic动态切换主题皮肤

热门文章

  1. 你必须知道的.Net 8.2.2 本质分析
  2. bootstrap点击下拉菜单没反应
  3. SDOI 种田记
  4. R语言 方差稳定化变换与线性变换 《回归分析与线性统计模型》page96
  5. [Java] Eclipse 设置相同变量背景色高亮显示
  6. Java笔记--多线程
  7. Day5 - G - The Unique MST POJ - 1679
  8. JS: 复选框——ALL与A、B、C(选中ALL同时选中各子项)
  9. NIO 聊天室代码实现
  10. 启动Eureka出现错误:Archive for required library in project cannot be read or is not a valid ZIP file