This is a re-implementation of DenseNet161 as [1] changed to fulfill hardware constraints of the Vitis AI framework for inference on Xilinx FPGAs.
Pretrained weights are available from the model database as follows:
Source file: /models/densenet161_vitis.py
models.densenet161_vitis.densenet161_vitis(
input_tensor=None,
include_top=True,
weight_path=None,
return_tensor=False,
classes=1000,
classifier_activation="softmax",
grow_rate=32,
compression=0.5,
kernel_size_first_layer=(7,7)
)
tf.keras.model
(if true, weights will not be loaded).include_top=True
.include_top=True
.The CNN architecture as tf.keras.model
if return_tensor=False
, otherwise as tf.keras.layers
.
[1] G. Huang, Z. Liu, L. Van Der Maaten and K. Q. Weinberger, “Densely Connected Convolutional Networks,” 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017, pp. 2261-2269, doi: 10.1109/CVPR.2017.243.
[2] O. Russakovsky et al., “ImageNet Large Scale Visual Recognition Challenge,” International Journal of Computer Vision (IJCV), vol. 115, no. 3, pp. 211–252, 2015, doi: 10.1007/s11263-015-0816-y.