人工智能|深度学习——PlotNeuralNet简单教程

一、简介

PlotNeuralNet是一个强大的开源Python库,它专为简化和美化神经网络图的绘制而设计

二、安装

需要下载的工具包括:MikTeX,Python代码编辑器(这个肯定会有的吧···),Git bash(可选),安装过程如下:

  • 安装MikTex,请移步https://miktex.org/download,下载完一直Next就行了;
  • 点击Github链接,下载PlotNeuralNet 脚本到本地。如果使用Git bash下载的话,使用命令:git clone https://github.com/HarisIqbal88/PlotNeuralNet;
  • 上一步完成之后,运行包中pyexamples文件夹下的unet.py文件,如果能成功的话证明python环境没什么问题;

三、使用

  1. 仿照unet.py或者test_simpl.py的代码新建一个.py文件(假设为test2.py),我们需要修改的只是arch中的元素和元素中的参数,每个元素的含义以及函数参数解释分别见附录1和附录2:
  2. 运行新建的test2.py文件,会在pyexamples文件夹下看到一个新生成的test2.tex文件
  3. 打开安装好的TexWorks,windows用户左下角搜索tex即可(因为会忘记自己安装在哪里···):
  4. 拖动第三步生成的.tex文件到TexWorks软件中,然后点击箭头所指的运行标志:
import sys
sys.path.append('../')
from pycore.tikzeng import *

# defined your arch
arch = [
    to_head( '..' ),
    to_cor(),
    to_begin(),
    to_Conv("conv1", 512, 64, offset="(0,0,0)", to="(0,0,0)", height=32, depth=32, width=3 ),
    to_Pool("pool1", offset="(0,0,0)", to="(conv1-east)"),
    to_Conv("conv2", 128, 64, offset="(1,0,0)", to="(pool1-east)", height=32, depth=32, width=2 ),
    to_connection( "pool1", "conv2"), 
    to_Pool("pool2", offset="(0,0,0)", to="(conv2-east)", height=28, depth=28, width=1),
    to_SoftMax("soft1", 10 ,"(3,0,0)", "(pool1-east)", caption="SOFT"  ),
    to_connection("pool2", "soft1"),    
    to_Sum("sum1", offset="(1.5,0,0)", to="(soft1-east)", radius=2.5, opacity=0.6),
    to_connection("soft1", "sum1"),
    to_end()
    ]

def main():
    namefile = str(sys.argv[0]).split('.')[0]
    to_generate(arch, namefile + '.tex' )

if __name__ == '__main__':
    main()

一个简单的使用流程完成,附自己生成的一个网络结构

四、附录1

元素(函数)解释,元素主要位于pycore模块内:

函数名 作用
to_head 一些初始设置比如说生成.tex文件位置
to_cor 颜色设置
to_begin 开始标志

上面三个元素都是默认的,依次放在arch列表开头就行。

如果想分模块设计的话,需要用到以下函数,下面这些函数需要使用需要在前面加上*,代表其是一个位置参数

函数名 作用
block_2ConvPool 添加卷积池化模块
block_Unconv 添加模块(没用到UnConv层···)
block_Res 添加Res层

五、附录2

元素(函数)的参数都是大同小异的,所以只挑几个比较常见的进行解释,参考

相关推荐

  1. TensorFlow人工智能开源深度学习框架简单认识

    2024-05-11 09:22:07       34 阅读
  2. 深度学习人工智能的新篇章

    2024-05-11 09:22:07       30 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-11 09:22:07       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-11 09:22:07       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-11 09:22:07       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-11 09:22:07       18 阅读

热门阅读

  1. rk3588 安卓13 暴露相机开关接口

    2024-05-11 09:22:07       9 阅读
  2. 通配符&&正则表达式(RegEXP)

    2024-05-11 09:22:07       7 阅读
  3. 正则表达式高级用法

    2024-05-11 09:22:07       11 阅读
  4. nginx_01

    nginx_01

    2024-05-11 09:22:07      9 阅读
  5. 处理HTTP请求的服务器

    2024-05-11 09:22:07       7 阅读
  6. mysql数据库配置(my.ini|my.cnf)文件参数详细介绍

    2024-05-11 09:22:07       10 阅读
  7. Unity编辑器扩展

    2024-05-11 09:22:07       8 阅读
  8. 设计模式——状态模式(State)

    2024-05-11 09:22:07       10 阅读
  9. k8s脚本安装Kafka-3.4.0版本 +Zookeeper部署

    2024-05-11 09:22:07       8 阅读
  10. electron 中拦截内嵌页面 beforeunload 的弹窗提示

    2024-05-11 09:22:07       11 阅读