readme.md

    QTFnn-Kits- 一个基于Qt和Tensorflow的CNN学习工具

    Tensorflow 1.X, 2.X 是卷积神经网络常用的工具。但一般的学习例子都是配合一些标准测试集合,对迫切需要对接真实应用场景的需求,考虑的不够。

    本项目提供了两种使用方式,支持TensorFlow 1.X, 2.X,提供了对网络规模、结构的定制功能。利用界面,就能获得:

    1. 定制参加一维卷积、二维卷积计算的参数,包括层数、行列、池化等步骤。
    2. 定制FNN的规模、层数。
    3. 训练样本按照固定的格式提供,即可立刻进行增量训练、测试与应用。

    1. FNN网络结构

    quicknn 提供了一个可定制的全连接FNN网络,可以用于函数拟合、回归测试。该网络的定义GUI为 quicknn,参数如下:

    qnn1

    1. 加载工程。例子在quicknn_example里。
    2. 设置训练输入,例子在quicknn_example里。
    3. 设置好脚本文件夹,即可执行训练任务,应用任务,如下图所示:

    qnn2

    2. CNN网络结构

    mixnn 提供一个可定制的CNN网络。可用于图象识别。

    该网络包括一些标量输入(直接进入FNN),一些一维输入,一些二维输入,主演参数如下:

    mnn1

    相应的结构输出:

    CNN1:
    Model: "sequential"
    _________________________________________________________________
     Layer (type)                Output Shape              Param #   
    =================================================================
     conv1d (Conv1D)             (None, 210, 5)            170       
                                                                     
     max_pooling1d (MaxPooling1D  (None, 105, 5)           0         
     )                                                               
                                                                     
     conv1d_1 (Conv1D)           (None, 99, 5)             180       
                                                                     
     max_pooling1d_1 (MaxPooling  (None, 49, 5)            0         
     1D)                                                             
                                                                     
     conv1d_2 (Conv1D)           (None, 45, 5)             130       
                                                                     
     max_pooling1d_2 (MaxPooling  (None, 22, 5)            0         
     1D)                                                             
                                                                     
     flatten (Flatten)           (None, 110)               0         
                                                                     
    =================================================================
    Total params: 480
    Trainable params: 480
    Non-trainable params: 0
    _________________________________________________________________
    CNN2:
    Model: "sequential_1"
    _________________________________________________________________
     Layer (type)                Output Shape              Param #   
    =================================================================
     conv2d (Conv2D)             (None, 170, 36, 16)       2656      
                                                                     
     max_pooling2d (MaxPooling2D  (None, 85, 18, 16)       0         
     )                                                               
                                                                     
     conv2d_1 (Conv2D)           (None, 79, 15, 8)         3592      
                                                                     
     max_pooling2d_1 (MaxPooling  (None, 39, 7, 8)         0         
     2D)                                                             
                                                                     
     conv2d_2 (Conv2D)           (None, 35, 5, 5)          605       
                                                                     
     max_pooling2d_2 (MaxPooling  (None, 11, 2, 5)         0         
     2D)                                                             
                                                                     
     flatten_1 (Flatten)         (None, 110)               0         
                                                                     
    =================================================================
    Total params: 6,853
    Trainable params: 6,853
    Non-trainable params: 0
    _________________________________________________________________
    FNN:
    Model: "sequential_2"
    _________________________________________________________________
     Layer (type)                Output Shape              Param #   
    =================================================================
     dense (Dense)               (None, 256)               56832     
                                                                     
     dense_1 (Dense)             (None, 256)               65792     
                                                                     
     dense_2 (Dense)             (None, 20)                5140      
                                                                     
    =================================================================
    Total params: 127,764
    Trainable params: 127,764
    Non-trainable params: 0
    _________________________________________________________________
    MIXNN:
    Model: "model"
    __________________________________________________________________________________________________
     Layer (type)                   Output Shape         Param #     Connected to                     
    ==================================================================================================
     input_2 (InputLayer)           [(None, 220, 3)]     0           []                               
                                                                                                      
     input_3 (InputLayer)           [(None, 180, 40, 3)  0           []                            
                                    ]                                                                 
                                                                                                      
     input_1 (InputLayer)           [(None, 1)]          0           []                               
                                                                                                      
     sequential (Sequential)        (None, 110)          480         ['input_2[0][0]']                
                                                                                                      
     sequential_1 (Sequential)      (None, 110)          6853        ['input_3[0][0]']                
                                                                                                      
     concatenate (Concatenate)      (None, 221)          0           ['input_1[0][0]',                
                                                                      'sequential[0][0]',             
                                                                      'sequential_1[0][0]']           
                                                                                                      
     sequential_2 (Sequential)      (None, 20)           127764      ['concatenate[0][0]']            
                                                                                                      
    ==================================================================================================
    Total params: 135,097
    Trainable params: 135,097
    Non-trainable params: 0

    2.1 制造例子

    例子是一个识别图片的工程,运行 mixnn_example,进行图片生成。

    checknn

    项目简介

    qt与tensorflow开发的深度学习CNN训练工具

    发行版本

    当前项目没有发行版本

    贡献者 2

    丁劲犇 @goldenhawking
    M manjaro-xfce @manjaro-xfce

    开发语言

    • Python 62.4 %
    • C++ 35.7 %
    • QMake 1.9 %