经典 CNNs 的 TensorFlow 实现资源汇总

本文简单整理了网上公布的基于 TensorFlow 实现图像语义分析的一些经典网络,方便大家参考学习。


1. TensorFlow-Slim

TF-Slim 是 tensorflow 较新版本的扩充包,可以简化繁杂的网络定义,其中也提供了一些demo:

  • AlexNet
  • InceptionV1/V2/V3
  • OverFeat
  • ResNet
  • VGG

例如 VGG-16 网络,寥寥数行就可以定义完毕:

def vgg16(inputs):
  with slim.arg_scope([slim.conv2d, slim.fully_connected],
                      activation_fn=tf.nn.relu,
                      weights_initializer=tf.truncated_normal_initializer(0.0, 0.01),
                      weights_regularizer=slim.l2_regularizer(0.0005)):
    net = slim.repeat(inputs, 2, slim.conv2d, 64, [3, 3], scope='conv1')
    net = slim.max_pool2d(net, [2, 2], scope='pool1')
    net = slim.repeat(net, 2, slim.conv2d, 128, [3, 3], scope='conv2')
    net = slim.max_pool2d(net, [2, 2], scope='pool2')
    net = slim.repeat(net, 3, slim.conv2d, 256, [3, 3], scope='conv3')
    net = slim.max_pool2d(net, [2, 2], scope='pool3')
    net = slim.repeat(net, 3, slim.conv2d, 512, [3, 3], scope='conv4')
    net = slim.max_pool2d(net, [2, 2], scope='pool4')
    net = slim.repeat(net, 3, slim.conv2d, 512, [3, 3], scope='conv5')
    net = slim.max_pool2d(net, [2, 2], scope='pool5')
    net = slim.fully_connected(net, 4096, scope='fc6')
    net = slim.dropout(net, 0.5, scope='dropout6')
    net = slim.fully_connected(net, 4096, scope='fc7')
    net = slim.dropout(net, 0.5, scope='dropout7')
    net = slim.fully_connected(net, 1000, activation_fn=None, scope='fc8')
  return net

2. tensorpack

tensorpack 是一个比较全面的工具包:

tensorpack

GitHub 地址 : ppwwyyxx/tensorpack


3. TF-Tutorials

TF-Tutorials 是一个简短的教程,包括如下内容:

tf-tutorials

GitHub 地址: awjuliani/TF-Tutorials


4. tflearn

tflearn

GitHub 地址:tflearn/tflearn


5. Others

还有一些单一网络实现的工程,例如:



作者:yhlleo
链接:https://www.jianshu.com/p/68cf89138dca/
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

猜你喜欢

转载自blog.csdn.net/qq_41352018/article/details/80274621