PlotNeuralNet + ChatGPT创建专业的神经网络的可视化图形

PlotNeuralNet:可以创建任何神经网络的可视化图表,并且这个LaTeX包有Python接口,我们可以方便的调用。

但是他的最大问题是需要我们手动的编写网络的结构,这是一个很麻烦的事情,这时 ChatGPT 就出来了,它可以帮我们生成LaTeX代码。在本文中,我将介绍如何安装和使用PlotNeuralNet,展示一些可视化示例,以及如何使用ChatGPT为我们生成LaTeX代码!

PlotNeuralNet

以下说明取来自PlotNeuralNet的说明,一下是ubuntu版

 #Ubuntu 16.04sudo apt-get install texlive-latex-extra#Ubuntu 18.04.2sudo apt-get install texlive-latex-basesudo apt-get install texlive-fonts-recommendedsudo apt-get install texlive-fonts-extrasudo apt-get install texlive-latex-extra

windows的话需要下载并安装一个LaTeX编译器,比如MiKTeX。然后还要安装一个bash运行程序,比如Git自带的bash或Cygwin。

安装完成后我们就可以使用官方的样例了:

 cd pyexamples/bash ../tikzmake.sh test_simple

在Windows上,你可能会遇到一些错误。

…/tikzmake.sh:第4行:python:命令未找到

这时需要打开tikzmake.sh文件,并根据Python版本在第4行、Python2或Python3上进行修改。

比如我这里要改成python3 $1.py而不是python $1.py。

…/tikzmake.sh:第5行:pdflatex:命令未找到

此错误意味着与MikTeX安装相关的环境变量有问题。需要手动将pdflatex添加到环境变量中。

这个基本示例代码如下,我们简单的解释一下都是什么。

 importsyssys.path.append('../')frompycore.tikzengimport*# defined your archarch= [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()]defmain():namefile=str(sys.argv[0]).split('.')[0]to_generate(arch, namefile+'.tex' )if__name__=='__main__':main()

通过上面定义的结构,会成成tex的文件,LaTeX中的等效程序:

 \pic[shift={(0,0,0)}] at (0,0,0){Box={name=conv1,caption= ,xlabel={{64, }},zlabel=512,fill=\ConvColor,height=64,width=2,depth=64}};\pic[shift={ (0,0,0) }] at (conv1-east){Box={name=pool1,caption= ,fill=\PoolColor,opacity=0.5,height=32,width=1,depth=32}};\pic[shift={(1,0,0)}] at (pool1-east){Box={name=conv2,caption= ,xlabel={{64, }},zlabel=128,fill=\ConvColor,height=32,width=2,depth=32}};\draw[connection]  (pool1-east)    -- node {\midarrow} (conv2-west);

编译成pdf文件如下:

这个可以根据你对Python或LaTeX的熟悉程度来选择,对我来说python更直观一些,所以我使用MiKTeX从Python指令生成LaTeX代码。

下面我们来看一看PlotNeuralNet生成复杂深度神经网络的可视化样例

1、U-Net

U-Net于图像分割任务。它首先由Olaf Ronneberger、Philipp Fischer和Thomas Brox在2015年的论文U-Net: Convolutional Networks for Biomedical Image Segmentation”中提出。

它的名字来源于它独特的“U”形。它允许更精确的分割。

2、VGG16

VGG16是一个卷积神经网络模型,使用ImageNet数据库中的100多万张图像进行训练。

这个模型是由牛津大学的视觉几何小组开发的。它在2014年ImageNet大规模视觉识别挑战赛(ILSVRC)中获得了图像分类和检测的顶级成绩。

它也是一个经典的网络

3、Alexnet

AlexNet是由Alex Krizhevsky、Ilya Sutskever和Geoffrey Hinton于2012年推出。它在2012年ImageNet大规模视觉识别挑战赛(ILSVRC)中以15.3%的错误率赢得前5名后声名大噪。事实上,这是第一个证明深度卷积神经网络对图像分类有效性的模型。

对于那些熟悉由Yann LeCun[4]提出的LeNet架构的人来说,AlexNet的架构是类似的。它只是每个卷积层和堆叠的卷积层有更多的过滤器。论文中还介绍了ReLU激活函数和dropout正则化的使用。

在PlotNeuralNet存储库中还有许多更复杂的示例(HED、SoftMaxLoss、FCN32……),这里就不一一介绍了。

ChatGPT

我们可以看到,在从Python脚本生成的LaTeX代码示例中,各个指令都是非常精确的,所以在开始编写代码之前,都需要对深度神经网络有一个非常清晰的概念。

但是如果我们不知道呢?那么就要靠ChatGPT来帮助我们生成Python或LaTeX代码。

1、ChatGPT生成LaTeX代码

ChatGPT知道LaTeX,但是在给出一个工作示例之前,它在生成代码时遇到了麻烦。所以为了让他生成可视化结构,我首先需要给了他FCN32或FCN8代码。

Here is some LaTeX code to generate an FCN 32 Network using the PlotNeuralNet latex package : […]

然后让他使用上面给出的例子来生成一个新的可视化。

Inspire yourself from this code and generate the LaTeX code to visualize a simple Convolutional Neural Network

根据chatgpt返回的代码,可视化效果如下

与官方例子中给出的FCN32作为示例相比,连接缺失了。并且在这个可视化过程中还缺少一些东西。

不知道是什么原因,ChatGPT犯了一个错误,它们的x_labels没有正确显示。

它生成了x_label={32}而不是x_label={“32”,“32”}。

需要我们手动修复它,会得到下面的可视化结果。

上面的图还手动改变了一些层的宽度。

使用ChatGPT来为我们生成一个工作原型还是可以的。但是还是需要我们去手动修改一些细节。

对于我们的理解而言,Python代码要比LaTeX多很多,能够让他生成Python代码呢?这个经过测试也不太现实,因为Python接口包含非常有限的层数:

  • Input layers
  • Dense (fully connected) layers
  • Convolutional layers
  • Pooling layers
  • Unpooling layers
  • Activations layers (ReLu, Softmax)
  • Skip-Layer connections
  • Residual layers
  • Sum / Add layers
  • Output layers

所以一些特殊层还是需要LaTeX版本。

总结

PlotNeuralNet十分强大,ChatGPT也很强大,使用ChatGPT可以让我们的任务更容易,虽然ChatGPT有局限性。但它可以被用作生成原型的工具,然后可以根据需要进行调整。

最后我们再总结一下提示:

I started writing LaTeX code to visualize a CNN please finish it : […]

这样就ok了

https://avoid.overfit.cn/post/3c080832c52d4929a3bfd38ca8b0a0fd

作者:Clément Delteil

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

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

相关文章

chatgpt赋能python:Python密码校验-保护您的账户安全

Python密码校验-保护您的账户安全 密码是我们在线账户的第一道防线。一个强壮的密码可以保护我们的账户不被黑客攻击,保护个人隐私和资金安全。在这篇文章中,我将向您展示如何使用Python编程语言创建一个密码校验程序,以确保您的密码足够强壮…

零代码编程:用ChatGPT自动输入账号密码来登陆网站

现在很多网站都需要登陆账号和密码才能访问。如果要进行一些批量自动化操作,首先要做的就是模拟自动登陆。 以萝卜投研网站为例:https://robo.datayes.com/v2/fastreport/industry 打开网站后,默认出现这样一个登陆界面,要点击右…

chatgpt赋能python:Python怎么自动输入账号密码

Python怎么自动输入账号密码 在现代互联网时代,我们几乎每天都要登录各种不同的网站和应用程序。过多的账号和密码可能让我们感到头痛,尤其是如果我们不使用密码管理器。如果你经常登录页面,那么Python可以自动化这个过程,免去了…

chatgpt赋能python:Python如何利用自动化输入账号密码来提高工作效率

Python如何利用自动化输入账号密码来提高工作效率 在许多日常工作中,我们需要频繁地登录各种各样的账号,并且还需要输入密码。这可能会让一些人感到繁琐和乏味,严重影响了工作效率和效率。幸运的是,Python可以帮助我们解决这个问…

火爆CV圈的SAM是什么?

SAM是什么 前言 最近几周,人工智能的圈子里都在讨论SAM(Segment Anything Model),一个号称(零样本)分割一切的图像分割模型。 图:Segment Anything Demo 2023年4月6号,Meta AI发布…

若依(ruoyi-cloud)脚手架解读,一篇精通,包票上手~

视频教程传送门: 基于SpringCloud Alibaba技术栈,若依微服务版(RuoYi-Cloud)脚手架入门精解,保证上手那种~_哔哩哔哩_bilibili基于SpringCloud Alibaba技术栈,若依微服务版(RuoYi-Cloud)脚手架入门精解,保证上手那种~…

chatgpt赋能python:Python主菜单:让你的网站更加用户友好

Python主菜单:让你的网站更加用户友好 如果你是一个使用Python编程语言的网站开发者,那么你肯定需要一个主菜单来引导你的用户。一个好的主菜单可以让你的网站更加用户友好,方便用户快速找到需要的内容。而怎样设计一个优秀的主菜单呢&#…

PrimeVue - 全面升级!免费开源、优雅好用的 Vue3 UI 组件库,可选主题超多

新版本发布了,主题超好看,还有很多独有的组件,强烈推荐给大家。 关于新版本 PrimeVue PrimeVue 是一个用于 Vue.js 3.x 开发的 web UI 组件库。早在2021年10月我就推荐过这个组件库,至今一年多的时间,开发迭代非常快…

安卓APP源码和设计报告——健身系统

一、设计背景 1.需求分析 对于很多人来说拥有一副好身材能让自己增添不少魅力;对于爱吃而又担心自己发胖的人来说适当的运动健身是最好的选择。移动互联网时代,市场上“约跑”“约健身”健身APP软件成为新时代闺蜜朋友的互动模式,健身热潮的来临&#xf…

求和!李姐万岁!用ChatGPT写GitBook布局锤子便签配色的WordPress主题

我早期在Github写《Chrome插件英雄榜》连载的时候,用的是GitBook的自动构建功能,也就是在Github仓库,按照一定的规范存储markdown格式文章和配置文件,GitBook就会自动构建一本书,供读者阅读。 GitBook阅读体验确实不错…

ChatGPT + X = 更多可能性

ChatGPT具有多种先进性特征,一经发布备受瞩目,作为一个由OpenAI训练的大型自然语言处理模型,可实现自然语言生成、语言翻译、自然语言理解、语言摘要等一系列功能。发布两个月后月活用户突破1亿,成为史上用户增长速度最快的消费级…

敏捷教练是做什么的?

如果想知道敏捷教练是做什么的,看招聘要求就明白了: https://www.zhipin.com/job_detail/1416132495.html 职位描述 岗位职责: 1. 作为敏捷教练,研究、引入、推广业界先进的研发管理思想、方法论与实践。 2. 指导与推动部门的精…

图解敏捷教练和 ScrumMaster

[运营专题]零预算引爆个人和企业品牌【原文链接】 Selenium 自动化测试从零实战【原文链接】 原来这样做,才能向架构师靠近【原文链接】 Cordova App 打包全揭秘【原文链接】 TensorFlow on Android:物体识别【原文链接】 TensorFlow on Android&am…

AI解码意念!类ChatGPT模型高准确率(82%)解码大脑思想

一段视频展示了一种新的语言解码过程的程式化描述。解码器生成多个单词序列(纸条),并通过将用户大脑反应的预测与实际记录的反应进行比较,预测每个候选单词序列与实际单词序列的相似程度。Credit: Jerry Tang/Alexander Huth 像ChatGPT这样的人工智能程序…

gpt4和chatGPT的区别

一觉醒来,万众期待的GPT-4,它来了! OpenAI老板Sam Altman直接开门见山地介绍说: 这是我们迄今为止功能最强大的模型! 有多强? 根据OpenAI官方的介绍,GPT-4是一个超大的多模态模型,也…

[新人自制/Med-VQA] 这是一个可以帮忙看“片子“的 AI-Demo,欢迎大神来访留言

开局先向 coolwulf 大神致敬! Demo 地址 介绍博客 和近期大火的 ChatGPT 那种生成式不同,这个模型是个分类模型, 在自然问答的情况下还是很蠢的,但也希望在医学领域能够帮助到真的有需要的人。 后续也会根据反馈不断验证模型性…

2023最新软件测试面试题汇总,一天拿到3个offer就靠他

目录 软件工程 Linux 数据库 sql语句 测试概念和模型 测试计划与工具 测试用例设计 Web端自动化 白盒测试 shell脚本 接口测试 性能测试 移动端自动化 总结 重点:配套学习资料和视频教学 软件工程 1. 阐述软件生命周期都有哪些阶段?常见…

手撕Boost!Boost公式推导及实验验证

文章在微信公众号“硬件工程师炼成之路”首发,敬请关注。 前一段时间写了一下Buck电路的振铃,不少同学给我留了作业,让我说说Boost。今天就来看看Boost电路。 友情提示:本文字数1W了,有点长,请点赞收藏加关…

一个简单三层神经网络BP算法的公式推导

一个简单的三层神经网络BP算法的公式推导 神经网络表示梯度下降法前向误差传播反向误差传播 神经网络表示 让我们来看一个最简单的神经网络,该神经网络只有三层,分别是输入层,隐藏层和输出层。 为了表示方便,我们把线性函数和非…