• qwe 简易深度框架


    qwe

    github地址

    简介

    简单的深度框架,参考Ng的深度学习课程作业,使用了keras的API设计。

    方便了解网络具体实现,避免深陷于成熟框架的细节和一些晦涩的优化代码。

    网络层实现了Dense, Flatten, Convolution2D, Activation, Dropout等。

    优化算法实现了带有动量的梯度下降,同时还有一个带正则的优化算法备选。

    权重初始化有多维高斯分布和Xavier initialization两种。

    目标函数有MSE,CategoricalCrossEntropy。

    在测试中有全连接网络与CNN手写字体识别示例。

    环境与安装

    python 3.x

    依赖

    1. numpy
    2. sklearn
    3. matplotlib
    4. numba

    安装

    无需安装,使用前请先设置PYTHONPATH路径

    qwe工程根目录

    eg.qwe位于/home/test/qwe, 执行 export PYTHONPATH=$PYTHONPATH:/home/test/qwe

    在config/basic.py中通过SWITCH_EXT选择是否开启扩展,默认关闭。

    若选择开启,在qwe/src/ext目录下执行 python setup.py build_ext -i 即可

    测试

    在test目录下执行 python testfile.py 即可

    目录结构

    1. src/
      1. ext/
        1. src/
          1. convUtil.pyx Cython的扩展,加速CNN
      2. layers/
        1.activation.py 激活函数,sigmoid, ReLU, tanh
        1.convolution2D.py 卷积层
        1.simple_convolution2D.py 简单卷积未优化
        1.dense.py 全连接层
        1.dropout.py 丢弃层?
        1.flatten.py 拉伸层
        1.pool.py 池化层,max average
      3. container.py 模型容器,equential
      4. initialization.py 参数初始化方法
      5. objective.py 目标函数
      6. optimizer.py 优化方法
      7. py_util.py py 实现的方法
      8. unit.py 计算单元
      9. util.py 一些方法
    2. test/
      1. parse_mnist.py 解析mnist图片
      2. test_col2img.py 测试
      3. test_mnist_cnn.py 使用CNN训练 mnist
      4. test_mnist_nn.py 使用全连接训练 mnist
      5. test_nn.py 使用全连接训练sklearn一个数据集
      6. test_objective.py 测试
      7. test_unit.py 测试
  • 相关阅读:
    HarmonyOS(鸿蒙OS)发布,聊聊操作系统的调度
    HarmonyOS(鸿蒙OS)发布,聊聊操作系统的调度
    修改SQL Server Management Studio 默认设置从而提高开发效率
    修改SQL Server Management Studio 默认设置从而提高开发效率
    还原默认的 SQL Server Management Studio 配置
    SQL2008智能提示失效
    SQL2008智能提示失效
    1028:字符菱形
    1028:字符菱形
    1027:输出浮点数
  • 原文地址:https://www.cnblogs.com/pigbreeder/p/8375935.html
Copyright © 2020-2023  润新知