还在用PPT做神经网络架构图?GitHub2万星项目,手把手教你从入门到可视化大师

简介: 现在搞机器学习的成本越来越低了,熟悉了Python和sklearn、Keras、Pytorch等机器学习框架,就能搭建自己的模型了,可是模型建好后如何解释给别人听,难倒了不少人。今天,我们就来介绍两款开源的机器学习画图工具,让你分分钟做出精美的可视化。

微信图片_20220109003511.gif


新智元的同事身边有很多做机器学习的同学,他们有个共通点就是:撸代码时候挺爽的,一旦要将过程和结果可视化的时候,就有点犯怵。

 

但无论是涉及到写论文,还是做演示,或者参加顶会,可视化显然是一个绕不过去的坎儿。今天我们就为大家介绍两款可视化工具。

 

这两款工具各有优劣,可以满足不同场景的需求。


轻量级PPT模板,即插即用快到飞起


这个GitHub的项目由一个叫做 dair.ai 的社区创建和维护,主要是提供了一些机器学习常用到的图形元素。当你需要写论文、做演讲、可视化的时候,就可以拿来用。

        微信图片_20220109003514.gif    

这套模板可以说非常的用心了,常用到的图形元素都有,甚至还提供了黑白两套配色。并且鼓励大家随意使用,不需要任何授权。

       微信图片_20220109003515.png

 

不过这只是一个ppt模板。所以,当你进行可视化的时候,你需要手动将里面的元素一个一个的替换成自己的数据。

 

有多少智能,就有多少人工,这话一点儿不假。

 

当然,相比PPT来说,我还是更喜欢用流程图软件或者Sketch来进行可视化,毕竟ppt的学习成本太高了。

        微信图片_20220109003517.gif    

直到我发现了manim!

 

如果你看了下面manim做的效果,绝对跟我一样,再也不想用ppt了!

 

告别重复性纯体力劳动,manim自动生成惊艳的动画效果!

 

你可能会说,ppt就拖拖拽拽就够了,这个还得写代码,当然,你的网络结构简单,也没有什么动态需求的话,ppt是可以满足。但如果你想做出令人惊艳的效果,manim就是你的最佳选择了。

      微信图片_20220109003519.png      

manim:一个神奇的数学动画引擎


manim 是一个解释性数学动画引擎。它由格兰特 · 桑德森撰写,并通过他的 YouTube 频道3Blue1Brown 流行开来。这里捎带安利一波3Blue1Brown视频课程,他制作的人工智能和数据科学课程不仅通俗易懂,还配了大量精美的解释动画,而所有动画,竟然都是Python代码生成的!

   微信图片_20220109003521.png

你可能有些疑虑,这么精美的动画,得写个几万行代码吧?错,创建一个解释动画从未如此简单。来,创建个「Hello World」!

      微信图片_20220109003523.gif


3Blue1Brown火了之后,大家都很好奇,课程我听懂了,但我想知道你的动画怎么做的。好吧,我开源自己的制作工具,manim!

    微信图片_20220109003525.png      

整个项目不到17M,却收获了2万多星!如何使用manim制作自己想要的数学动画呢?

 

你可以参考这个开源项目,作者精心制作了一系列教程。

        微信图片_20220109003528.png    

按主题分类的视频教程:

     微信图片_20220109003529.png


看完这个可能还是云里雾里,好像懂了但又无从下手,一个国内开发小哥看完之后,又对教程进行了细化。

 

      微信图片_20220109003532.png    

 

具体到了,点、线、面怎么定义,每个都有详细的代码示例。比如圆,配置一个字典就行,实现了高度的定制化,一次配置,随处复用!

 

      微信图片_20220109003535.png    


当然要做出一个完整的效果还需要熟悉manim的构建流程,不过只要有耐心,一定可以的。


最后附上一个manim做的动画,有没有勾起你的撸码欲望呢?

      image.gif


参考链接:

https://github.com/Elteoremadebeethoven/AnimationsWithManim

https://github.com/cai-hust/manim-tutorial-CN

https://github.com/3b1b/manim

相关文章
|
1月前
|
编解码 Oracle Java
java9到java17的新特性学习--github新项目
本文宣布了一个名为"JavaLearnNote"的新GitHub项目,该项目旨在帮助Java开发者深入理解和掌握从Java 9到Java 17的每个版本的关键新特性,并通过实战演示、社区支持和持续更新来促进学习。
69 3
|
1月前
|
前端开发 JavaScript 测试技术
android做中大型项目完美的架构模式是什么?是MVVM吗?如果不是,是什么?
android做中大型项目完美的架构模式是什么?是MVVM吗?如果不是,是什么?
83 2
|
27天前
|
机器学习/深度学习 数据可视化 Windows
深度学习笔记(七):如何用Mxnet来将神经网络可视化
这篇文章介绍了如何使用Mxnet框架来实现神经网络的可视化,包括环境依赖的安装、具体的代码实现以及运行结果的展示。
49 0
|
4天前
|
存储 前端开发 数据可视化
在实际项目中,如何选择使用 Flux 架构或传统的 MVC 架构
在实际项目中选择使用Flux架构或传统MVC架构时,需考虑项目复杂度、团队熟悉度和性能需求。Flux适合大型、高并发应用,MVC则适用于中小型、逻辑简单的项目。
|
4天前
|
前端开发 JavaScript 测试技术
android做中大型项目完美的架构模式是什么?是MVVM吗?如果不是,是什么?
在 Android 开发中,选择合适的架构模式对于构建中大型项目至关重要。常见的架构模式有 MVVM、MVP、MVI、Clean Architecture 和 Flux/Redux。每种模式都有其优缺点和适用场景,例如 MVVM 适用于复杂 UI 状态和频繁更新,而 Clean Architecture 适合大型项目和多平台开发。选择合适的架构应考虑项目需求、团队熟悉度和可维护性。
22 5
|
1天前
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
|
1月前
|
弹性计算 人工智能 运维
Terraform从入门到实践:快速构建你的第一张业务网络(上)
本次分享主题为《Terraform从入门到实践:快速构建你的第一张业务网络》。首先介绍如何入门和实践Terraform,随后演示如何使用Terraform快速构建业务网络。内容涵盖云上运维挑战及IaC解决方案,并重磅发布Terraform Explorer产品,旨在降低使用门槛并提升用户体验。此外,还将分享Terraform在实际生产中的最佳实践,帮助解决云上运维难题。
118 1
Terraform从入门到实践:快速构建你的第一张业务网络(上)
|
13天前
|
前端开发 JavaScript 测试技术
Android适合构建中大型项目的架构模式全面对比
Android适合构建中大型项目的架构模式全面对比
29 2
|
13天前
|
Java
[Java]Socket套接字(网络编程入门)
本文介绍了基于Java Socket实现的一对一和多对多聊天模式。一对一模式通过Server和Client类实现简单的消息收发;多对多模式则通过Server类维护客户端集合,并使用多线程实现实时消息广播。文章旨在帮助读者理解Socket的基本原理和应用。
14 1
|
30天前
|
存储 分布式计算 Hadoop
Hadoop-33 HBase 初识简介 项目简介 整体架构 HMaster HRegionServer Region
Hadoop-33 HBase 初识简介 项目简介 整体架构 HMaster HRegionServer Region
49 2