【神经网络结构可视化】PlotNeuralNet的安装、测试及创建自己的神经网络结构可视化图形

文章目录

    • 前提准备
      • 1、下载MikTeX
      • 2、下载Git bash
      • 3、下载PlotNeuralNet
    • 进行测试
      • 1、解压PlotNeuralNet-master.zip
      • 2、打开Git bash
      • 3、 在my_project中查看生成的pdf文件
    • 创建自己的神经网络结构可视化图形


前提准备

1、下载MikTeX

下载链接: MikTeX ( https://miktex.org/download )
在这里插入图片描述


2、下载Git bash

下载链接: Git bash ( https://git-scm.com/download/win )
在这里插入图片描述


3、下载PlotNeuralNet

下载链接: PlotNeuralNet ( https://github.com/HarisIqbal88/PlotNeuralNet?tab=readme-ov-file )
在这里插入图片描述


进行测试

1、解压PlotNeuralNet-master.zip

将下载的PlotNeuralNet-master.zip解压到当前文件夹,并把解压的PlotNeuralNet-master文件夹更名为PlotNeuralNet。PlotNeuralNet文件夹里的文件如下:
在这里插入图片描述


2、打开Git bash

  • 在PlotNeuralNet文件夹里空白处右击鼠标,找到Git Bash Here,点击进入。如下图所示:
    在这里插入图片描述
  • 输入以下命令在PlotNeuralNet文件夹创建一个新的文件夹my_project:
    mkdir my_project
  • 输入以下命令将Git bash 里的路径切换到文件夹my_project:
    cd my_project
  • 输入以下命令使用vim编写my_arch.py:
    vim my_arch.py
    在这里插入图片描述
  • 将以下代码复制进去
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=64, depth=64, width=2 ),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_end()]def main():namefile = str(sys.argv[0]).split('.')[0]to_generate(arch, namefile + '.tex' )if __name__ == '__main__':main()
  • 代码复制完后,按Esc键,然后再按:wq后回车保存退出。
    在这里插入图片描述
  • 执行以下命令
    bash ../tikzmake.sh my_arch
    在这里插入图片描述
  • 宏包安装
    在弹出的窗口界面安装宏包
    在这里插入图片描述
    【可能的报错】
    如果在Git bash 中输出以下报错:
    ! LaTeX Error: File ’import.sty‘ not found. Type X to quit or to proceed, or enter new name. (Default extension: sty) Enter file name:
    【解决方式】
    1、直接关闭Git bash
    2、找到并打开MikTex Console
    在这里插入图片描述
    3、按下图进行操作
    在这里插入图片描述
    4、执行以下命令
    bash ../tikzmake.sh my_arch
    在这里插入图片描述

3、 在my_project中查看生成的pdf文件

在这里插入图片描述
在这里插入图片描述


创建自己的神经网络结构可视化图形

找到pyexamples文件夹下的test_simple.py或unet.py文件,更改defined your arch部分,运行代码后会生成一个.tex文件,运行.tex文件即可得到自己的可视化模型的pdf文件。
test_simple.py中的defined your arch部分:

# defined your arch
arch = [to_head( '..' ),to_cor(),to_begin(),to_Conv("conv1", 512, 64, offset="(0,0,0)", to="(0,0,0)", height=64, depth=64, width=2 ),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()]

unet.py中的defined your arch部分:

arch = [ to_head('..'), to_cor(),to_begin(),#inputto_input( '../examples/fcn8s/cats.jpg' ),#block-001to_ConvConvRelu( name='ccr_b1', s_filer=500, n_filer=(64,64), offset="(0,0,0)", to="(0,0,0)", width=(2,2), height=40, depth=40  ),to_Pool(name="pool_b1", offset="(0,0,0)", to="(ccr_b1-east)", width=1, height=32, depth=32, opacity=0.5),*block_2ConvPool( name='b2', botton='pool_b1', top='pool_b2', s_filer=256, n_filer=128, offset="(1,0,0)", size=(32,32,3.5), opacity=0.5 ),*block_2ConvPool( name='b3', botton='pool_b2', top='pool_b3', s_filer=128, n_filer=256, offset="(1,0,0)", size=(25,25,4.5), opacity=0.5 ),*block_2ConvPool( name='b4', botton='pool_b3', top='pool_b4', s_filer=64,  n_filer=512, offset="(1,0,0)", size=(16,16,5.5), opacity=0.5 ),#Bottleneck#block-005to_ConvConvRelu( name='ccr_b5', s_filer=32, n_filer=(1024,1024), offset="(2,0,0)", to="(pool_b4-east)", width=(8,8), height=8, depth=8, caption="Bottleneck"  ),to_connection( "pool_b4", "ccr_b5"),#Decoder*block_Unconv( name="b6", botton="ccr_b5", top='end_b6', s_filer=64,  n_filer=512, offset="(2.1,0,0)", size=(16,16,5.0), opacity=0.5 ),to_skip( of='ccr_b4', to='ccr_res_b6', pos=1.25),*block_Unconv( name="b7", botton="end_b6", top='end_b7', s_filer=128, n_filer=256, offset="(2.1,0,0)", size=(25,25,4.5), opacity=0.5 ),to_skip( of='ccr_b3', to='ccr_res_b7', pos=1.25),    *block_Unconv( name="b8", botton="end_b7", top='end_b8', s_filer=256, n_filer=128, offset="(2.1,0,0)", size=(32,32,3.5), opacity=0.5 ),to_skip( of='ccr_b2', to='ccr_res_b8', pos=1.25),    *block_Unconv( name="b9", botton="end_b8", top='end_b9', s_filer=512, n_filer=64,  offset="(2.1,0,0)", size=(40,40,2.5), opacity=0.5 ),to_skip( of='ccr_b1', to='ccr_res_b9', pos=1.25),to_ConvSoftMax( name="soft1", s_filer=512, offset="(0.75,0,0)", to="(end_b9-east)", width=1, height=40, depth=40, caption="SOFT" ),to_connection( "end_b9", "soft1"),to_end() ]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/4221.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【图解计算机网络】TCP协议三次握手与四次挥手

TCP协议三次握手与四次挥手 三次握手流程为什么是三次握手,而不是两次或四次四次挥手流程TIME_WAIT 为什么要等待 2MSL为什么握手是三次,挥手是四次? 三次握手流程 首先是客户端(也就是我们的浏览器)发送一个SYN标志位…

C++11 数据结构5 队列的概念,队列的顺序存储,实现,测试

一,队列的概念 队列是一种特殊的受限制的线性表。 队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。 队列是一种先进先出的t(First In First Out)的线性表,简称FIF…

请编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k传回。

本文收录于专栏:算法之翼 https://blog.csdn.net/weixin_52908342/category_10943144.html 订阅后本专栏全部文章可见。 本文含有题目的题干、解题思路、解题思路、解题代码、代码解析。本文分别包含C语言、C++、Java、Python四种语言的解法完整代码和详细的解析。 题干 请编…

NDK 基础(五)—— C++ 高级特性2

1、左值右值 在 C 中,左值(lvalue)和右值(rvalue)是用于描述表达式的术语,它们与赋值操作和内存中对象的生命周期有关。 **左值(lvalue)**是指可以出现在赋值操作符左侧的表达式&a…

商店数据(九)

目录 65.店铺入驻字段表 66.店铺分类表 67.店铺配置表 68.店铺快递公司关联表 69.店铺资料附加表 70.店铺入驻流程表 71.店铺运费模板表 72.消息类型表 65.店铺入驻字段表 CREATE TABLE wst_bases (id int(11) NOT NULL AUTO_INCREMENT COMMENT 自增id,flowld int(11)…

如何安全进行速卖通自养号测评操作?

对于新加入的卖家而言,进行销量测评显得尤为关键。速卖通平台上的新店往往难以获得活动的扶持,且初始流量相当有限。因此,开店的首要任务便是积极展开测评工作,努力积累初始的评论和销售记录。测评的益处颇为显著,它不…

SpringBoot项目启动,传参有哪些方式?

SpringBoot项目启动,传参有哪些方式? 1.Spring级别的参数 直接在启动 Spring Boot 应用的命令行中使用 -- 后跟参数名和值的方式来传递参数。 记住:一般是对于Spring Boot应用特有的配置参数,确保它们遵循Spring Boot的配置属性命…

【视频打架行为数据集】打斗场景视频数据集简要介绍

一、UBI-Fight(异常事件检测数据集) 介绍 UBI-Fights 数据集是一个独特的全新大型数据集,涉及特定的异常检测并仍然在打斗场景中提供广泛的多样性,该数据集包含 80 小时的视频,在帧级别进行了完全注释。由 1000 个视…

# 从浅入深 学习 SpringCloud 微服务架构(五)Consul(2)

从浅入深 学习 SpringCloud 微服务架构(五)Consul(2) 段子手168 一、consul 集群:consul 集群的基础知识 1、启动 sonsul 服务命令: 以开发者模式快速启动: consul agent -dev -client0.0.0…

13.JAVAEE之HTTP协议

HTTP 最新的版本应该是 HTTP/3.0 目前大规模使用的版本 HTTP/1.1 使用 HTTP 协议的场景 1.浏览器打开网站 (基本上) 2.手机 APP 访问对应的服务器 (大概率) 学习 HTTP 协议, 重点学习 HTTP 的报文格式 前面的 TCP/IP/UDP 和这些不同, HTTP 的报文格式,要分两个部分来看待.请求…

移动端日志采集与分析最佳实践

前言 做为一名移动端开发者,深刻体会日志采集对工程师来说具有重要意义,遇到问题除了 debug 调试就是看日志了,通过看日志可以帮助我们了解应用程序运行状况、优化用户体验、保障数据安全依据,本文将介绍日志采集的重要性、移动端…

高级防爬还得是公众号

平时一天也就1K的流量,最近流量暴涨,已经用自研的WAF防火墙阻挡了很多恶意攻击和爬虫,已经过滤掉很多低级攻击和爬取了。 多出的流量,也仅仅多了一个导航 dh.yu7s.com 用户,多时没有用的机器人爬虫,不封掉浪…

EXCEL表格中的数字,为什么每次打开会自动变成日期?

一、典型现象 在工作中,有时会发现公司里的报表,经过多人多次的重复的使用和修改后,会出现这种情况: 1.在表格里按照需要输入数字,保存工作簿。 2.然而,再次打开工作簿,里面的数字变成日期&a…

c#学习入门2

十、运算符 1)算术运算符是用于数值类型变量计算的运算符,它返回的结果是数值 1.赋值符号 2.算数运算符 加 减- 乘* 除/ 取余% 3.算数运算符的优先级 4.算术运算符的复合运算 5.算术运算符的自增减 2)字符串拼接 1.字符串拼接方式1 注意&…

自定义View-旋转变色圆角三角形的绘制

本文字数:3151字 预计阅读时间:20分钟 在现代设计中,动效图在APP的UI界面中所起到的作用无疑是显著的。相比于静态的界面,动效更符合人类的自然认知体系,它有效地降低了用户的认知负载,UI动效俨然已经成为了…

错误代码126:加载d3dcompiler_43.dll失败,分享多种解决方法

在正常使用电脑的过程中,当我尝试启动并运行一款心仪的游戏时,系统却突然弹出一个令人困扰的错误提示“错误代码126:加载d3dcompiler_43.dll失败”,它会导致游戏无法正常运行。为了解决这个问题,我经过多次尝试和总结,…

VMware ESXi虚拟机备份的方法和步骤

关于虚拟机备份 VMware ESXi 是 VMware vSphere 企业虚拟化套件的核心组件。在版本4.1之前,它一直被称为ESX。ESXi是一种裸机管理程序,直接安装在物理服务器上,它提供对底层资源的直接访问和控制,允许您在单个物理主机上创建和运…

网鼎杯-2018-unfinish解题方法

BUUCTF在线评测这里可以解题无需搭建 进入这题后我们会得到这样一个界面 这里我们会发现登录不进去也没有注册界面以及源码,这里我们需要获取它其他的一些界面找注入机会,这里有两种方式找其他界面,一种是猜这里是登录界面那么必定就会有注册…

网络安全新挑战:通用人工智能(AGI)等级保护指南

通用人工智能(AGI)的发展现状及趋势 随着2023年大语言模型应用的划时代突破,以ChatGPT为杰出代表的此类技术犹如一股洪流,彻底颠覆了人类与机器智能交互的疆界,引领通用人工智能(AGI)步入一个崭…

[SWPUCTF-2022-新生赛]ez_sql

title:[SWPUCTF 2022 新生赛]ez_sql 审题 根据提示,POST传参 得到假的flag 判断类型 字符型注入 判断列数 发现空格和’or’被过滤 重新构造 nss-1/**/oorrder/**/by/**/4#发现为3个字段 采用联合注入union 爆库 发现union被过滤,双写union绕过 发…