炸了!没有任何HTML/CSS ! 纯Python打造一个网站!

Python跨平台开发革命:一次编写,处处运行的新时代 Python正突破平台限制,成为真正的全栈开发语言。2025年Python在跨平台开发领域取得重大突破:移动端通过BeeWare实现原生应用开发;Web端借助Pyodide和Anvil在浏览器中高效运行;桌面应用采用现代化GUI框架Flet;游戏开发支持3D和VR;物联网领域通过MicroPython实现嵌入式开发。文章还介绍了跨平台开发的性能优化策略、统一工作流和调试方法,展望了Python在编译技术、WebAssembly集成等方面的发展趋势。Python正在实现"一次编写,处处运行&quot 阅读详情
点上方“菜鸟学Python”,选择“星标”
第490篇原创干货,第一时间送达

大家好,我是菜鸟哥!

如果想用Python做网站,在Python世界里面有2大非常有名的框架,一个是Django一个是Flask 。但是做网站肯定需要前端的三家马车HTML/CSS/JS 。如果我只想想做一个简单的网站,学习的成本有点高。

今天给大家推荐一个神器 Anvil 框架,可以不用一行非Python代码,分分钟帮助你打造一个纯用 Python 做的全栈 Web 应用程序!厉害吧,我们一起来看一下。


01.创建账户

不同于Flask的框架,Anvil 框架并不需要通过pip等方式进行安装。

大家只需要前往Anvil的官网,创建账户,官网地址为:https://anvil.works/。


02.创建项目

当我们注册,有了自己的账户后,接下来就可以创建一个项目了。

首先,点击创建一个空白项目:

然后在弹出的主题选择窗口中选择Material Design主题。

Material design主题是2014年由谷歌公司创建,并应用于许多最流行的应用程序,包含了邮件,日历等组件。

在页面设计时,我们不需要去创建美观的页面组件,可以利用Anvil提供的组件来创建美观的界面。

03.搭建界面

创建应用程序后,Anvil 会转到页面的设计界面中:

如上图所示。页面设计可以通过拖放组件的方式完成。我们通过拖放输入字段、按钮和输出标签这三个组件,实现一个简单的页面功能。对于组件的拖放,可以按照下图的方式进行操作。

组件拖放完成后,界面如下图所示:


04.前端逻辑

组件搭建完成后,接下来我们来实现页面的逻辑。

我们想实现的功能是:向text框中输入文本,通过点击button按钮,来显示在label组件中。

所以BUTTON_3按钮成为了页面的控制关键,通过双击BUTTON_3按钮,可以来到BUTTON_3按钮的程序界面下。

在这里我们可以编写BUTTON_3按钮的逻辑代码。

按照想要实现的目的,逻辑代码如下图所示。

程序中,”self.label_1"和“self.text_aera_1"分别表示的就是label和text两个控件。

05.运行Web APP

完成界面设计以及逻辑代码编写后,就可以运行APP来查看效果了。

程序的运行以及效果展示如下:

上面只是一个简单的演示,里面可以创建很多复杂的交互功能。

06.Web APP部署

功能测试完毕后,接下来就可以选择APP的部署了。停止测试,回到设计界面后,点击设置下的publish app的选项。

界面会弹出选项提示,提示用户是设置为私密链接或者是公开的链接。

大家只需要点击链接后,就可以使用自己开发的Web APP了。

07.总结

以上就是利用Anvil进行100% Python 的Web 应用程序创建过程。

Anvil还有很多其他的功能,大家可以继续来探索,喜欢利用python进行web开发的小伙伴们,可以尽快动手尝试一下~

网站地址:https://anvil.works/

推荐阅读:入门: 最全的零基础学Python的问题  | 零基础学了8个月的Python  | 实战项目 |学Python就是这条捷径干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探3令人失望  | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏!AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!|  再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!|年度爆款文案1).卧槽!Pdf转Word用Python轻松搞定!2).学Python真香!我用100行代码做了个网站,帮人PS旅行图片,赚个鸡腿吃3).首播过亿,火爆全网,我分析了《乘风破浪的姐姐》,发现了这些秘密 4).80行代码!用Python做一个哆来A梦分身 5).你必须掌握的20个python代码,短小精悍,用处无穷 6).30个Python奇淫技巧集 7).我总结的80页《菜鸟学Python精选干货.pdf》,都是干货 8).再见Python!我要学Go了!2500字深度分析!9).发现一个舔狗福利!这个Python爬虫神器太爽了,自动下载妹子图片点阅读原文,领廖雪峰资料!
从零开始用 Flask 打造个人网站:简单又高效 本教程介绍如何使用Flask框架快速搭建个人网站。内容包括:1)环境准备(安装Flask、创建项目结构);2)编写Flask应用(创建路由、HTML模板);3)添加CSS样式;4)本地运行测试;5)部署到Heroku;6)扩展功能建议。教程通过简单示例演示了从零开始构建包含首页、关于页和联系页的静态网站,适合Web开发初学者快速入门。Flask的轻量特性使其成为构建个人项目的理想选择,后续可扩展为动态网站。 阅读详情

相关推荐

基于HTML5的毕业设计个人网站:从零到一打造技术名片

在Web开发领域,HTML5、CSS3和JavaScript构成了现代前端技术的基石,它们共同定义了网页的结构、样式与交互行为。HTML5通过语义化标签提升了文档的结构清晰度与可访问性;CSS3的Flexbox与Grid布局模型则革命性地解决了复杂页面排版问题,是实现响应式设计的核心;原生JavaScript负责处理用户交互与动态内容。掌握这些基础技术对于构建高性能、跨平台的Web应用至关重要,其技术价值在于能够创建出体验流畅、易于维护且对搜索引擎友好的网站。这类技能在个人作品集展示、企业官网、电商平台及W

weixin_34335458的博客 422

探索高效Web开发:Anvil——一个全栈式的Python Web框架

探索高效Web开发:Anvil——一个全栈式的Python Web框架 anvil项目地址:https://gitcode.com/gh_mirrors/anv/anvil Anvil 是一个强大的全栈式Python Web开发框架,它允许开发者以拖放的方式构建界面,同时提供后端逻辑的支持,大大简化了Web应用的构建过程。通过集成的IDE和内置的数据库管理,Anvil为开发者提供了一个全面、一体...

gitblog_00099的博客 2008

打造个性化博客网站的Python教程

我们了解了Flask的基本用法,创建了一个简单的HTML模板和CSS样式表,并运行了我们的应用程序。您可以根据自己的需求进一步扩展和个性化您的博客网站。现在,我们已经完成了博客网站的创建和设置,可以运行我们的应用程序了。您现在可以根据自己的需求扩展和个性化您的博客网站。这只是一些可能的扩展和个性化的示例,您可以根据自己的需求和创意进行进一步的定制。上面的代码定义了一些基本的CSS样式,用于设置页面的背景颜色、字体样式和颜色。,您将看到您的个性化博客网站的首页。步骤8:扩展和个性化您的博客网站。

2301_79366332的博客 120

Anvil Runtime 与应用服务器:用纯 Python 构建全栈 Web 应用

[Anvil](https://anvil.works) 是一个革命性的框架,允许开发者使用纯 Python 构建全栈 Web 应用。无论是在浏览器端、用户界面、服务器端,还是数据库操作,所有代码都可以用 Python 编写。Anvil Runtime 是驱动这些应用的开源引擎,本项目包含了 Anvil Runtime 库以及一个独立的应用服务器,可以在本地文件系统上运行 Anvil 应用。 #...

gitblog_00427的博客 581

使用Django、Bootstrap和CSS打造待办事项网站

在Django中,模型(Model)是与数据库表直接对应的Python类。为了实现与数据库的交互,Django提供了一个名为对象关系映射器(Object-Relational Mapper, ORM)的系统。通过定义模型类,开发者可以轻松地执行数据库的CRUD(创建Create、读取Read、更新Update和删除Delete)操作,而无需直接编写SQL语句。使用Django ORM的优点包括:- 数据库独立性:可以轻松切换后端数据库(如MySQL, PostgreSQL等)。

weixin_32324637的博客 1114

HTML与CSS表格设计及Python数据交互实战

htmltable {th, td {th {pre {简介:本课程作业“WEB1.1表格”围绕网页中常用的表格设计展开,重点讲解如何使用HTML构建表格结构、CSS进行样式美化,并结合Python实现数据动态展示。通过项目实战,学生将掌握HTML表格标签、CSS样式设计、Python后端处理、模板引擎(如Jinja2)以及文件读取(CSV/JSON)等核心技术,提升前端展示与后端数据处理的综合能力。

weixin_42452483的博客 1232

推荐:Anvil - 只需Python的全栈Web应用构建工具

推荐:Anvil - 只需Python的全栈Web应用构建工具 1、项目介绍 Anvil 是一个神奇的框架,它让你仅凭Python就能构建功能齐全的、数据驱动的Web应用程序。这个开源项目包含了课程示例代码和相关教学材料,旨在帮助开发者掌握如何在无须HTML、CSS或JavaScript的情况下,利用Anvil打造强大的Web应用。不仅如此,你还可以通过它连接数据库,实现交互式图表和图形,甚至构...

gitblog_00056的博客 855

python-anvil:Anvil API的Python库和CLI

Anvil API库 这是一个库,提供了一个接口,可从以Python编程语言编写的应用程序访问 。 Anvil是一套工具,用于在您的应用程序中集成基于文档的工作流和PDF: Anvil Workflows将您的PDF表单转换为简单,直观的网站,这些网站会填充PDF并为您收集签名。 Anvil PDF Filling API允许您使用JSON数据填充任何PDF。 Anvil PDF Generation API可让您创建新的PDF。 Anvil Etch电子签名API允许您在PDF签名数据包上请求签名。 目前,此API库仅支持我们的PDF填充API和GraphQL API。 文献资料 常规API文档: 建立 要求 Python 3.6+ 安装 将其直接安装到激活的虚拟环境中: $ pip install python-anvil 或将其添加到您的项目中: $ poetry

Python与HTML倾情打造情人节示爱网站:愿天下有情人终成眷属!

陪伴是最长情的告白 世人醉,醉生梦死一世情;世人痴,痴心不悔三生爱。在2021年2月14日到来之际,Python与HTML携手,运用独家浪漫方法为您倾情打造情人节示爱网站;在这里,有各种功能、各种方法,为你和Ta留下最珍贵的回忆,并记录你们的爱情...... 目录 1 故事开篇 2 计划实施 2.1 Python 2.1.1 环境介绍 2.1.2 tornado实施步骤 2.1.3 Python完整代码文件交付 2.2 HTML 2.2.1 HTML的一个小惊喜 2.2.2...

闭关修炼——暂退 2万+

anvil-runtime:用于托管Anvil Web应用程序的运行时引擎

Anvil运行时和App Server 介绍 是一个仅使用Python即可构建全栈式Web应用程序的平台。 Anvil Runtime是为这些应用程序提供动力的开源引擎。 该存储库包含Anvil Runtime库以及一个独立的App Server,该服务器使用Runtime从本地文件系统中为Anvil应用程序提供服务。 您还可以在Anvil的云中构建和部署应用程序,这是迄今为止构建Web应用程序的最简单方法。使用我们的构建您的应用程序,并通过拖放式UI设计器完成并自动完成-然后,它就可以在网络上发布! 使用独立的App Server 此存储库包含一个服务单个Anvil应用程序的独立Web服务器。启动它很简单: $ pip install anvil-app-server $ create-anvil-app todo-list MyTodoList $ anvil-app-server

若依(ruoyivue)实现文档在线查看

1、Kkfileview部署 第一步:从kkfileview官方发行版本下载安装包,安装包下载路径: https://gitee.com/kekingcn/file-online-preview/releases, 第二步:解压kkFileView-x.x.x文件(Windows用.zip包,Linux/MacOS用.tar.gz包) 第三步:打开解压后文件夹的bin目录,运行startup脚本(Windows下以管理员身份运行startup.bat,Linux以root用户运行startup.sh) 第四

weixin_46953697的博客 9681

web前端期末大作业:网站设计与实现——咖啡网站HTML+CSS+JavaScript

📔网站布局方面:计划采用目前主流的、能兼容各大主流浏览器、显示效果稳定的浮动网页布局结构。📓网站程序方面:计划采用最新的网页编程语言HTML5+CSS3+JS程序语言完成网站的功能设计。并确保网站代码兼容目前市面上所有的主流浏览器,已达到打开后就能即时看到网站的效果。📘网站素材方面:计划收集各大平台好看的图片素材,并精挑细选适合网页风格的图片,然后使用PS做出适合网页尺寸的图片。📒网站文件方面:网站系统文件种类包含:html网页结构文件、css网页样式文件、js网页特效文件、images网页图片文件;

网页设计与制作 2495

STM32F103C8T6 + GY-906红外测温:手把手教你用CubeMX和HAL库搞定IIC驱动(附完整工程)

本文详细介绍了如何使用STM32F103C8T6和GY-906红外测温传感器(基于MLX90614芯片)实现非接触式温度测量。从STM32CubeMX工程创建、HAL库驱动适配到温度数据采集与处理,提供完整的开发流程和常见问题解决方案,帮助开发者快速掌握红外测温技术。

weixin_29188043的博客 255

ssm/php/node/python景宁畲乡旅游网站

同时,网站的建立也有助于整合当地旅游资源,优化旅游产品,提高服务质量,从而吸引更多的游客前来旅游观光,带动旅游消费,促进当地经济的可持续发展。网站还能作为一个重要的交流平台,收集游客的意见和建议,为景宁畲乡的旅游发展提供宝贵的市场反馈,帮助当地政府和企业更好地规划和调整旅游发展战略。因此,“景宁畲乡旅游网站2d324”的选题应运而生,旨在通过网络平台全面展示畲族文化与自然风光,提供旅游资讯服务,打造一个集文化传播、旅游推广、互动交流于一体的综合性旅游服务平台。文末可领取本课题的JAVA源码参考。

天天 程序设计 871

ANSYS二次开发:Python和ANSYS进行交互操作(PyAnsys库,DPF)

🎈ANSYS二次开发:APDL开发入门准备🎈- 🎈ANSYS二次开发:后处理使用APDL命令流解析结果文件🎈 🎈ANSYS二次开发:Python解析ANSYS结果文件(PyAnsys库)🎈 🎈ANSYS二次开发:Python操作ANSYS(PyAnsys库,PyDPF)🎈 文章目录1、简介2、安装2.1 ansys-mapdl-core2.2 pyaedt2.3 ansys-dpf-core2.4 ansys-dpf-post2.5 ansys-mapdl-reader2.6 G...

爱看书的小沐 2万+

Java电商秒杀系统性能优化(一)——电商秒杀系统框架回顾

电商秒杀系统框架回顾项目简介外部依赖框架回顾项目要点项目中存在的问题小结 课程是免费的,课程地址如下:SpringBoot搭建电商秒杀项目,课程真的很棒,作者的思路很清晰,建议各位读者可以跟着视频练习一下这个项目; 项目简介 通过SpringBoot快速搭建的前后端分离的电商基础秒杀项目。项目通过应用领域驱动型的分层模型设计方式去完成:用户otp注册、登陆、查看、商品列表、进入商品详情以及倒计时秒...

ghw15221836342的博客 3722

基于Python+Django实现一个电商购物网站系统

为了让网站操作简单、流畅,我们将实现以下功能:管理员登录与管理:管理员可以登录后台,对用户和商品进行增删改查的操作。用户系统:普通用户可以进行注册和登录。购物车功能:用户在选择商品后,可以添加到购物车,并随时调整商品数量。商品详情:用户点击商品,可以查看其详细描述、价格、库存等信息,并可进行评论。数据可视化:通过Echart,我们可以生成直观的数据图表,例如销售统计、用户行为分析等。

2301_79478575的博客 552

【机器学习概率统计】11 贝叶斯统计推断:最大后验

这一节,我们来介绍另外一种统计推断方法:贝叶斯统计推断方法。 1.回顾贝叶斯定理 首先,我们先来复习一下贝叶斯定理: p(Θ∣X)=p(X∣Θ)p(Θ)p(X)p(\Theta|X)=\frac{p(X|\Theta)p(\Theta)}{p(X)}p(Θ∣X)=p(X)p(X∣Θ)p(Θ)​ 在这个简简单单的式子当中,蕴含了我们要掌握的很多重要内容: 贝叶斯定理当中的四个概率表达式,他们都非常重要,在这一节的内容中将反复出现,我们来一一解析一下: p(Θ)p(\Theta)p(Θ):先验分布。 反映的是在

机器学习数学基础系列专栏 3272

从零开始:用Python打造你的专属博客网站

从零开始:用Python打造你的专属博客网站 你是否曾经梦想过拥有一个属于自己的博客网站,记录生活点滴、分享技术心得?现在,这个梦想不再遥不可及!通过这个开源项目,你将能够从零开始,用Python一步步打造出一个功能齐全的博客网站。无论你是编程小白,还是希望提升Python技能的开发者,这个项目都将为你提供一个绝佳的学习和实践平台。 项目介绍 这个开源项目是基于廖雪峰老师的Python教程开发的,...

gitblog_00872的博客 705

YOLOv11改进 | 主干/Backbone篇 | 华为最新目标检测网络VanillaNet(适配yolov11的N、S、M、L、X)

本文给大家来的改进机制是华为最新VanillaNet网络VanillaNet是一种注重极简主义和效率的神经网络架构。它的设计简单,层数较少,避免了像深度架构和自注意力这样的复杂操作(需要注意的是该网络结构的通道数会被放大,GFLOPs的量会很高)。我将其替换整个YOLOv10的Backbone,在一些大目标和小目标检测上均有涨点,效果比上一篇RepViT的效果要好。

Snu77的博客 2587

修改Windows hosts文件的解决方案

本文主要介绍了修改Windows hosts文件解决方案,希望能对新手有所帮助。 文章目录 1. 问题描述 2. 解决方案 2.1 安装软件 2.2 修改hosts文件

weixin_43178406的博客 1万+

【亲测免费】 一键获取网站完整源码:打造您的专属网站副本

一键获取网站完整源码:打造您的专属网站副本 【下载地址】获取网站完整源码工具 本仓库提供了一个强大的工具,用于获取网站的完整源码,包括HTML、图片、JavaScript、CSS等资源文件。通过使用该工具,您可以轻松地复制并制作一个与原网站完全相同的副本 ...

gitblog_09788的博客 1070

Python爬虫经典案例第67篇:社交媒体平台爬取:Twitter数据采集实战

Twitter(现更名为X)是全球最具影响力的社交媒体平台之一,拥有超过3.3亿月度活跃用户。作为一个实时信息传播平台,Twitter上的数据涵盖了新闻、政治、娱乐、科技等各个领域,具有极高的研究价值:本文将深入探讨Twitter数据采集的技术方案,包括官方API调用、网页爬取和浏览器自动化三种方式。Twitter采用现代化的微服务架构,主要特点包括:Twitter作为全球最大的社交媒体平台,拥有完善的反爬机制:在开始爬取前,需要明确合法的数据采集方式:重要提示:未经授权爬取Twitter数据可能违反服务条

2201_76125261的博客 659

纯小白亲测!用 AiPy 搓出卖货网站,想赚钱的我直接躺赢

作为一个纯小白,不用懂代码、不用会设计,只需要向 AiPy 提出需求,就能一步步做出一个功能完善、能实际使用的卖货网站,整个过程体验感拉满。先来看最终的成品效果,整个手工皂独立站的页面设计贴合天然的产品调性,导航栏设置清晰,商品区展示完整,还为每款产品搭配了合适的文案。而且 AiPy 生成的网站还自带产品文案,每款产品的卖点都提炼得精准到位,直接省去了我绞尽脑汁写文案的麻烦,真的太贴心了。就做出了一个完整的手工皂卖货网站,纯小白也能轻松上手,赚钱的门槛直接被拉到最低!

Ekehlaft的博客 493

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

ssm/php/node/python体育网站前端设计

再者,随着社交媒体的融合,odvm3的设计允许便捷的分享功能,让用户可以轻松将喜爱的内容分享到各大社交平台,这不仅增加了用户间的互动,也为网站带来了更多的流量和新用户。因此,一个功能齐全、操作便利的体育网站前端设计显得尤为重要。odvm3作为一个创新的前端设计模型,能够提供给用户更为丰富的交互体验和视觉享受,同时也为网站的后端处理提供了良好的支持。这种设计理念不仅关注页面的美观性,还注重用户的操作流畅性和访问效率,致力于打造一个既满足专业体育爱好者需求,又兼顾普通用户浏览体验的综合性体育平台。

天天 程序设计 864

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

整理了18个可以免费学习编程的网站

分享18个可以免费学习编程的网站。希望小伙伴们通过这些学习网站,能够提升自己的编程水平,学到自己想学的知识。

... 6万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

上一篇: 2021 年 Windows 成了 Python 开发者的首选
下一篇: 上海有哪些牛逼的互联网公司?
菜鸟学Python
博客等级 码龄9年 8086粉丝 571原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值