├── LICENSE ├── README.md ├── _step_by_step ├── README.md ├── convert_BatchNormalization_training_true.ipynb ├── model_converter_merge_batchnormalization_to_depthwiseconv.ipynb ├── model_converter_merge_conv2d_relu.ipynb ├── model_converter_merge_conv_batchnormalization.ipynb ├── model_converter_merge_depthwiseconv_batchnormalization.ipynb ├── model_converter_split_separableconv2d.ipynb ├── unpack_model.ipynb └── yolov4-tiny-keras-custom.ipynb ├── converter ├── converter.py └── model_adaptation.py ├── extra_layers ├── BinaryOp.py ├── Clip.py ├── CustomObjects.py ├── OutputSplit.py ├── Padding.py ├── Resize.py └── UnaryOp.py ├── keras2ncnn.py ├── model_zoo ├── memory_estimator │ └── get_mem.py └── segmentation │ └── hair │ └── model_000 │ ├── CelebA_PrismaNet_256_hair_seg_model_opt_001.bin │ ├── CelebA_PrismaNet_256_hair_seg_model_opt_001.hdf5 │ ├── CelebA_PrismaNet_256_hair_seg_model_opt_001.param │ ├── README.md │ ├── demo.png │ └── demo.py ├── optimization ├── graph │ ├── ActivationReLU_max_split.py │ ├── BatchNormalization_DepthwiseConv2D_transform.py │ ├── Conv2DActivation_merge.py │ ├── Conv2DBatchNormalization_merge.py │ ├── Conv2DReLU_merge.py │ ├── Conv2DSigmoid_merge.py │ ├── Conv2DSoftmax_split.py │ ├── DropLayer.py │ ├── ReLU_max_split.py │ ├── SeparableConv2D_split.py │ └── layer_template.py └── optimize_graph.py ├── requirements.txt ├── run_test.py └── unit_test ├── helper.py ├── simple_model ├── Adain.py ├── EncoderDecoder.py ├── MultipleInput.py ├── UNet.py └── Unstructured.py ├── single_layer ├── Activation.py ├── BinaryOp.py ├── Conv2D.py ├── Conv2DTranspose.py ├── Dense.py ├── DepthwiseConv2D.py ├── Merge.py ├── Normalization.py ├── Pooling2D.py ├── ReshapeFlatten.py ├── UnaryOp.py └── UpSampling2D.py └── unit_test_data ├── person_001_1024x1204.jpg ├── person_1024x1204.jpg ├── person_640x640.jpg └── persons_000.jpg /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/README.md -------------------------------------------------------------------------------- /_step_by_step/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/_step_by_step/README.md -------------------------------------------------------------------------------- /_step_by_step/convert_BatchNormalization_training_true.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/_step_by_step/convert_BatchNormalization_training_true.ipynb -------------------------------------------------------------------------------- /_step_by_step/model_converter_merge_batchnormalization_to_depthwiseconv.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/_step_by_step/model_converter_merge_batchnormalization_to_depthwiseconv.ipynb -------------------------------------------------------------------------------- /_step_by_step/model_converter_merge_conv2d_relu.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/_step_by_step/model_converter_merge_conv2d_relu.ipynb -------------------------------------------------------------------------------- /_step_by_step/model_converter_merge_conv_batchnormalization.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/_step_by_step/model_converter_merge_conv_batchnormalization.ipynb -------------------------------------------------------------------------------- /_step_by_step/model_converter_merge_depthwiseconv_batchnormalization.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/_step_by_step/model_converter_merge_depthwiseconv_batchnormalization.ipynb -------------------------------------------------------------------------------- /_step_by_step/model_converter_split_separableconv2d.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/_step_by_step/model_converter_split_separableconv2d.ipynb -------------------------------------------------------------------------------- /_step_by_step/unpack_model.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/_step_by_step/unpack_model.ipynb -------------------------------------------------------------------------------- /_step_by_step/yolov4-tiny-keras-custom.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/_step_by_step/yolov4-tiny-keras-custom.ipynb -------------------------------------------------------------------------------- /converter/converter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/converter/converter.py -------------------------------------------------------------------------------- /converter/model_adaptation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/converter/model_adaptation.py -------------------------------------------------------------------------------- /extra_layers/BinaryOp.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/extra_layers/BinaryOp.py -------------------------------------------------------------------------------- /extra_layers/Clip.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/extra_layers/Clip.py -------------------------------------------------------------------------------- /extra_layers/CustomObjects.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/extra_layers/CustomObjects.py -------------------------------------------------------------------------------- /extra_layers/OutputSplit.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/extra_layers/OutputSplit.py -------------------------------------------------------------------------------- /extra_layers/Padding.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/extra_layers/Padding.py -------------------------------------------------------------------------------- /extra_layers/Resize.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/extra_layers/Resize.py -------------------------------------------------------------------------------- /extra_layers/UnaryOp.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/extra_layers/UnaryOp.py -------------------------------------------------------------------------------- /keras2ncnn.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/keras2ncnn.py -------------------------------------------------------------------------------- /model_zoo/memory_estimator/get_mem.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/model_zoo/memory_estimator/get_mem.py -------------------------------------------------------------------------------- /model_zoo/segmentation/hair/model_000/CelebA_PrismaNet_256_hair_seg_model_opt_001.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/model_zoo/segmentation/hair/model_000/CelebA_PrismaNet_256_hair_seg_model_opt_001.bin -------------------------------------------------------------------------------- /model_zoo/segmentation/hair/model_000/CelebA_PrismaNet_256_hair_seg_model_opt_001.hdf5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/model_zoo/segmentation/hair/model_000/CelebA_PrismaNet_256_hair_seg_model_opt_001.hdf5 -------------------------------------------------------------------------------- /model_zoo/segmentation/hair/model_000/CelebA_PrismaNet_256_hair_seg_model_opt_001.param: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/model_zoo/segmentation/hair/model_000/CelebA_PrismaNet_256_hair_seg_model_opt_001.param -------------------------------------------------------------------------------- /model_zoo/segmentation/hair/model_000/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/model_zoo/segmentation/hair/model_000/README.md -------------------------------------------------------------------------------- /model_zoo/segmentation/hair/model_000/demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/model_zoo/segmentation/hair/model_000/demo.png -------------------------------------------------------------------------------- /model_zoo/segmentation/hair/model_000/demo.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/model_zoo/segmentation/hair/model_000/demo.py -------------------------------------------------------------------------------- /optimization/graph/ActivationReLU_max_split.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/optimization/graph/ActivationReLU_max_split.py -------------------------------------------------------------------------------- /optimization/graph/BatchNormalization_DepthwiseConv2D_transform.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/optimization/graph/BatchNormalization_DepthwiseConv2D_transform.py -------------------------------------------------------------------------------- /optimization/graph/Conv2DActivation_merge.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/optimization/graph/Conv2DActivation_merge.py -------------------------------------------------------------------------------- /optimization/graph/Conv2DBatchNormalization_merge.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/optimization/graph/Conv2DBatchNormalization_merge.py -------------------------------------------------------------------------------- /optimization/graph/Conv2DReLU_merge.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/optimization/graph/Conv2DReLU_merge.py -------------------------------------------------------------------------------- /optimization/graph/Conv2DSigmoid_merge.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/optimization/graph/Conv2DSigmoid_merge.py -------------------------------------------------------------------------------- /optimization/graph/Conv2DSoftmax_split.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/optimization/graph/Conv2DSoftmax_split.py -------------------------------------------------------------------------------- /optimization/graph/DropLayer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/optimization/graph/DropLayer.py -------------------------------------------------------------------------------- /optimization/graph/ReLU_max_split.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/optimization/graph/ReLU_max_split.py -------------------------------------------------------------------------------- /optimization/graph/SeparableConv2D_split.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/optimization/graph/SeparableConv2D_split.py -------------------------------------------------------------------------------- /optimization/graph/layer_template.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/optimization/graph/layer_template.py -------------------------------------------------------------------------------- /optimization/optimize_graph.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/optimization/optimize_graph.py -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/requirements.txt -------------------------------------------------------------------------------- /run_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/run_test.py -------------------------------------------------------------------------------- /unit_test/helper.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/unit_test/helper.py -------------------------------------------------------------------------------- /unit_test/simple_model/Adain.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/unit_test/simple_model/Adain.py -------------------------------------------------------------------------------- /unit_test/simple_model/EncoderDecoder.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/unit_test/simple_model/EncoderDecoder.py -------------------------------------------------------------------------------- /unit_test/simple_model/MultipleInput.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/unit_test/simple_model/MultipleInput.py -------------------------------------------------------------------------------- /unit_test/simple_model/UNet.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/unit_test/simple_model/UNet.py -------------------------------------------------------------------------------- /unit_test/simple_model/Unstructured.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/unit_test/simple_model/Unstructured.py -------------------------------------------------------------------------------- /unit_test/single_layer/Activation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/unit_test/single_layer/Activation.py -------------------------------------------------------------------------------- /unit_test/single_layer/BinaryOp.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/unit_test/single_layer/BinaryOp.py -------------------------------------------------------------------------------- /unit_test/single_layer/Conv2D.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/unit_test/single_layer/Conv2D.py -------------------------------------------------------------------------------- /unit_test/single_layer/Conv2DTranspose.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/unit_test/single_layer/Conv2DTranspose.py -------------------------------------------------------------------------------- /unit_test/single_layer/Dense.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/unit_test/single_layer/Dense.py -------------------------------------------------------------------------------- /unit_test/single_layer/DepthwiseConv2D.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/unit_test/single_layer/DepthwiseConv2D.py -------------------------------------------------------------------------------- /unit_test/single_layer/Merge.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/unit_test/single_layer/Merge.py -------------------------------------------------------------------------------- /unit_test/single_layer/Normalization.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/unit_test/single_layer/Normalization.py -------------------------------------------------------------------------------- /unit_test/single_layer/Pooling2D.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/unit_test/single_layer/Pooling2D.py -------------------------------------------------------------------------------- /unit_test/single_layer/ReshapeFlatten.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/unit_test/single_layer/ReshapeFlatten.py -------------------------------------------------------------------------------- /unit_test/single_layer/UnaryOp.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/unit_test/single_layer/UnaryOp.py -------------------------------------------------------------------------------- /unit_test/single_layer/UpSampling2D.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/unit_test/single_layer/UpSampling2D.py -------------------------------------------------------------------------------- /unit_test/unit_test_data/person_001_1024x1204.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/unit_test/unit_test_data/person_001_1024x1204.jpg -------------------------------------------------------------------------------- /unit_test/unit_test_data/person_1024x1204.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/unit_test/unit_test_data/person_1024x1204.jpg -------------------------------------------------------------------------------- /unit_test/unit_test_data/person_640x640.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/unit_test/unit_test_data/person_640x640.jpg -------------------------------------------------------------------------------- /unit_test/unit_test_data/persons_000.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/azeme1/keras2ncnn/HEAD/unit_test/unit_test_data/persons_000.jpg --------------------------------------------------------------------------------