This is a Tensorflow implemention of VGG 16 and VGG 19 based on tensorflow-vgg16 and Caffe to Tensorflow. Original Caffe implementation can be found in here and here.
We have modified the implementation of tensorflow-vgg16 to use numpy loading instead of default tensorflow model loading in order to speed up the initialisation and reduce the overall memory usage. This implementation enable further modify the network, e.g. remove the FC layers, or increase the batch size.
To use the VGG networks, the npy files for VGG16 NPY or VGG19 NPY has to be downloaded.
Use this to build the VGG object
vgg = vgg19.Vgg19()
vgg.build(images)
or
vgg = vgg16.Vgg16()
vgg.build(images)
The images
is a tensor with shape [None, 224, 224, 3]
.
Trick: the tensor can be a placeholder, a variable or even a constant.
All the VGG layers (tensors) can then be accessed using the vgg object. For example, vgg.conv1_1
, vgg.conv1_2
, vgg.pool5
, vgg.prob
, ...
test_vgg16.py
and test_vgg19.py
contain the sample usage.
This library has been used in my another Tensorflow image style synethesis project: stylenet
Added a trainable version of the VGG19 vgg19_trainable
. It support train from existing vaiables or from scratch. (But the trainer is not included)
A very simple testing is added test_vgg19_trainable
, switch has demo about how to train, switch off train mode for verification, and how to save.
A seperated file is added (instead of changing existing one) because I want to keep the simplicity of the original VGG networks.
All the source code has been upgraded to v1.0.0.
The conversion is done by my another project tf0to1
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。