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.项目介绍
风格迁移
3.开源代码
- VGG: machrisaa/tensorflow-vgg
- Faster RCNN: smallcorgi/Faster-RCNN_TF
- SSD: seann999/ssd_tensorflow
- YOLO: gliese581gg/YOLO_tensorflow
- FCN: MarvinTeichmann/tensorflow-fcn
- SegNet: tkuanlun350/Tensorflow-SegNet
- DeepLab: DrSleep/tensorflow-deeplab-lfov, DrSleep/tensorflow-deeplab-resnet
- Neural Style: anishathalye/neural-style
- Pix2Pix: affinelayer/pix2pix-tensorflow
- Colorization: shekkizh/Colorization.tensorflow
- Depth Prediction: iro-cp/FCRN-DepthPrediction
- Chessbot: Elucidation/tensorflow_chessbot
- DCGAN: carpedm20/DCGAN-tensorflow
- VAE-GAN: ikostrikov/TensorFlow-VAE-GAN-DRAW, timsainb/Tensorflow-MultiGPU-VAE-GAN
- Mask RCNN: CharlesShang/FastMaskRCNN