Python程序员的圣经:《Python编程快速上手:让繁琐工作自动化》

Python编程快速上手:让繁琐工作自动化(附下载) 阅读详情

在这里插入图片描述


在这里插入图片描述

一、前言

如今,人们面临的大多数任务都可以通过编写计算机软件来完成。Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。通过Python编程,我们能够解决现实生活中的很多任务。

今天给大家分享一份Python程序员的圣经——《Python编程快速上手:让繁琐工作自动化》。这是本面向实践的Python编程实用指南。

二、目录

第一章 Python基础

第二章 控制流

第三章 函数

第四章 列表

第五章 字典和结构化数据

第六章 字符串操作

第七章 模式匹配与正则表达式

第八章 读写文件

第九章 组织文件

第十章 调试

第十一章 从Web抓取信息

第十二章 处理Excel电子表格

第十三章 处理PDF和Word文档

第十四章 处理CSV文件和JSON数据

第十五章 保持时间、计划任务和启动程序

第十六章 发送电子邮件和短信

第十七章 操作图像

第十八章 用GUI自动化控制键盘和鼠标

三、部分内容展示

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

在这里插入图片描述

第一章 Python基础

你可以用一个计算器来计算表达式,或在文本处理器中输入字符串连接。甚至可以通过复制粘贴文本,很容易地实现字符串复制。但是表达式以及组成它们的值(操作符、变量和函数调用),才是构成程序的基本构建块。一旦你知道如何处理这些元素,就能够用Python操作大量的数据。

在这里插入图片描述

第二章 控制流

通过使用求值为True或False的表达式(也称为条件),你可以编写程序来决定哪些代码执行,哪些代码跳过。可以在循环中一遍又一遍地执行代码,只要某个条件求值为True。如果需要跳出循环或回到开始处,break和continue语句很有用。

在这里插入图片描述

第三章 函数

函数是将代码逻辑分组的主要形式。因为函数中的变量存在于他们自己的局部作用域内,所以一个函数中的代码不能直接影响其他函数中变量的值。这限制了哪些代码才能改变变量的值,对于调试代码是很有帮助的。

在这里插入图片描述

第四章 列表

列表是可变的,这意味着它们的内容可以改变。元组和字符串虽然在某些方面像列表,却是不可变的,不能被修改。

在这里插入图片描述

第五章 字典和结构化数据

列表和字典是这样的值,它们可以包含多个值,包括其他列表和字典。字典是有用的,因为你可以把一些项(键)映射到另一些项(值),它不像列表,只包含一系列有序的值。字典中的值是通过方括号访问的,像列表一样。字典不是只能使用整数下标,而是可以用各种数据类型作为键:整型、浮点型、字符串或元组。

在这里插入图片描述

第六章 字符串操作

文本是常见的数据形式,Python自带了许多有用的字符串方法,来处理保存在字符串中的文本。在你写的几乎每个Python程序中,都会用到取下标、切片和字符串方法。

在这里插入图片描述

第七章 模式匹配与正则表达式

虽然计算机可以很快地查找文本,但你必须精确地告诉它要找什么。正则表达式让你精确地指明要找的文本模式。实际上,某些文字处理和电子表格应用提供了查找替换功能,让你使用正则表达式进行查找。

在这里插入图片描述

第八章 读写文件

文件被组织在文件夹中(也称为目录),路径描述了一个文件的位置。运行在计算机上的每个程序都有一个当前工作目录,它让你相对于当前的位置指定文件路径,而非总是需要完整路径(绝对路径)。os.path模块包含许多函数,用于操作文件路径。

在这里插入图片描述

第九章 组织文件

通常,你不仅需要对一个文件夹中的文件执行这些操作,而是对所有下级子文件夹执行操作。os.walk()函数将处理这个艰苦工作,遍历文件夹,这样你就可以专注于程序需要对其中的文件做什么。

在这里插入图片描述

第十章 调试

断言、异常、日志和调试器,都是在程序中发现和预防缺陷的有用工具。用Python语句实现的断言,是实现心智正常检查的好方式。如果必要的条件没有保持为True,它将尽早给出警告。断言所针对的错误,是程序不应该尝试恢复的,而是应该快速失败。否则,你应该抛出异常。

在这里插入图片描述

第十一章 从Web抓取信息

大多数无聊的任务并不限于操作你计算机中的文件。能够编程下载网页,可以让你的程序扩展到因特网。requests模块让下载变得很简单,加上HTML的概念和选择器的基本知识,你就可以利用BeautifulSoup模块,解析下载的网页。

在这里插入图片描述

第十二章 处理Excel电子表格

处理信息是比较难的部分,通常不是处理本身难,而是为程序得到正确格式的数据较难。一旦你将电子表格载入Python,就可以提取并操作它的数据,比手工操作要快得多。

在这里插入图片描述

第十三章 处理PDF和Word文档

文本信息不仅仅是纯文本文件,实际上,很有可能更经常遇到的是PDF和Word文档。可以利用PyPDF2模块来读写PDF文档。遗憾的是,从PDF文档读取文本并非总是能得到完美转换的字符串,因为PDF文档的格式很复杂,某些PDF可能根本读不出来。在这种情况下,你就不太走运了,除非将来PyPDF2更新,支持更多的PDF功能。

在这里插入图片描述

第十四章 处理CSV文件和JSON数据

CSV和JSON是常见的纯文本格式,用于保存数据。它们很容易被程序解析,同时仍然让人可读,所以它们经常被用作简单的电子表格或网络应用程序的数据。csv和json模块大大简化了读取和写入CSV和JSON文件的过程。

在这里插入图片描述

第十五章 保持时间、计划任务和启动程序

对于许多编程语言,包括Python,Unix纪元(1970年1月1日午夜,UTC)是一个标准的参考时间。虽然time.time()函数模块返回一个Unix纪元时间戳(也就是自Unix纪元以来的秒数的浮点值),但datetime模块更适合执行日期计算、格式化和解析日期信息的字符串。

在这里插入图片描述

第十六章 发送电子邮件和短信

Python 的 smtplib 提供了一些函数,利用 SMTP,通过电子邮件提供商的SMTP服务器发送电子邮件。同样,第三方的imapclient和pyzmail模块让你访问IMAP服务器,并取回发送给你的电子邮件。虽然IMAP比SMTP复杂一些,但它也相当强大,允许你搜索特定电子邮件、下载它们、解析它们,提取主题和正文作为字符串值。

在这里插入图片描述

第十七章 操作图像

图像由像素的集合构成,每个像素具有表示颜色的RGBA值,可以通过x和y坐标的定位。两种常见的图像格式是JPEG和PNG。Pillow模块可以处理这两种图像格式和其他格式。

在这里插入图片描述

第十八章 用GUI自动化控制键盘和鼠标

利用pyautogui,你可以在屏幕上移动鼠标,模拟鼠标点击、击键和快捷键。pyautogui模块也能检查屏幕上的颜色,让GUI自动化程序对屏幕内容有足够的了解,知道它是否有偏差。甚至可以向它提供一个屏幕快照,让它找出你希望点击的区域坐标。

在这里插入图片描述

本书适合任何想要通过Python学习编程的读者,尤其适合缺乏编程基础的初学者。通过阅读本书,读者将能利用强大的编程语言和工具,并且会体会到Python编程的快乐。

废话不多说了已经打包好了需要的小伙伴

如果需要这份Python电子书资料,可以:

在这里插入图片描述

Python编程快速上手,让繁琐工作自动化(附下载)_python编程快速上手——让繁琐工作自动化pdf下载(1) ① Python所有方向的学习路线图,清楚各个方向要学什么东西② 600多节Python课程视频,涵盖必备基础、爬虫和数据分析③ 100多个Python实战案例,含50个超大型项目详解,学习不再是只会理论④ 20款主流手游迫解 爬虫手游逆行迫解教程包⑤ 爬虫与反爬虫攻防教程包,含15个大型网站迫解⑥ 爬虫APP逆向实战教程包,含45项绝密技术详解⑦ 超300本Python电子好书,从入门到高阶应有尽有⑧ 华为出品独家Python漫画教程,手机也能学习。 阅读详情

相关推荐

《Python编程快速上手——让繁琐工作自动化》第2版的中文版上市了

好消息,时隔5年,这本美亚排名前三、中文版畅销超20万册,豆瓣评分8.9的入门书《Python编程快速上手——让繁琐工作自动化》第2版的中文版终于上市了。

weixin_43840711的博客 3316

Python程序员的圣经:《Python编程快速上手:让繁琐工作自动化》

全文共1369字,预计学习时长5分钟图源:unsplashPython可谓是当今世界上最受欢迎的编程语言之一了。它简单易懂,但功能强大,可以处理多种问题。无论处理网站后台,研发新游戏,...

读芯术的博客 2072

Python编程快速上手 让繁琐工作自动化 (源码)

Python编程快速上手 让繁琐工作自动化 教程的源码,十分经典

Python程序员的圣经——《Python编程快速上手:让繁琐工作自动化》尾末附下载地址

一、前言 如今,人们面临的大多数任务都可以通过编写计算机软件来完成。Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。通过Python编程,我们能够解决现实生活中的很多任务。 今天给大家分享一份Python程序员的圣经——《Python编程快速上手:让繁琐工作自动化》。这是本面向实践的Python编程实用指南。 二、目录 第一章Python基础 第二章控制流 第三章函数 第四章 列表 第五章 字典和结构化数据 第六章字符串操作 第七章模式匹配与正...

采菊东篱下,Python满乾坤! 1652

python快速入门PDF

1.第一章Python快速入门 本章是Python的快速入门,在这一章并不涉及python 的特殊规则和细节,目标是通过示例使你快速了解Python语言的特点。本章简要介绍了变量,表达式,控制流,函数以及输入/输出的基本概念,在这一章不涉及Python语言的高级特性。尽管如此,有经验的程序员还是能够通过阅读本章的材料创建高级程序。我们鼓励新手通过运行示例,亲身体验一把 Python. 1.1.运行 Python Python 程序通过解释器执行。如果你的机器已经装好了python,简单的在命令行键入python 即可运行python解释器。在解释器运行的时,会有一个命令提示符>>>,在提示符后键入你的程序语句,键入的语句将会立即执行。在下边的例子中,我们在>>>提示符后边键入最常见的显示"Hello World"的命令:

Python编程快速上手—让繁琐工作自动化 _Python书籍_python_

学习python的一个pdf书籍,编程快速上手

python自动化_Python编程快速上手——让繁琐的工作自动化

Python是一种解释型,面向对象,动态数据类型的高级程序设计语言,这几年python极其火爆,应用也非常的广泛,例如:爬虫,数据分析,科学计算,人工智能等python都能胜任,以至于现在很多人都喜欢用python完成自动化办公,表格处理,数据分析等工作,就是这种万能属性,使得python变得越来越广泛,俨然成为了所有职场人的一个基本功和必备技能~ 好了那么开始今天到的正题啦~ ,今天小编给大家介...

weixin_39996798的博客 1293

PX4飞控与MAVROS实战:从零搭建无人机ROS通信环境(附常见报错解决)

本文详细介绍了如何从零搭建PX4飞控与ROS的通信环境,重点解析了MAVROS的安装、硬件连接、串口权限配置以及坐标系转换等核心步骤。针对GeographicLib数据下载失败、串口权限不足等常见报错提供了实用解决方案,并附有Offboard模式控制的代码示例,帮助开发者快速建立稳定的无人机ROS开发环境。

dapp9builder的博客 336

Python编程快速上手,让繁琐工作自动化

大家好,我是辰哥(文末送书)自学编程是不少人的选择,在著名的软件开发领域问答网站stackoverflow上,直接搜索learn programming可以得到47000多个回答,教我们如何学习某种编程语言或技术。▲stackoverflow中关于学编程的搜索结果而对纯编程新手,亚马逊评分4.7,中文版热销超25万册的图书《Python编程快速上手 让繁琐工作自动化(第2版)》作者,阿尔•斯维加...

公众号:Python研究者 3125

手把手配置:用Synopsys VDK为英飞凌TC4x系列MCU做虚拟原型开发

本文详细介绍了如何使用Synopsys VDK为英飞凌TC4x系列MCU进行虚拟原型开发,涵盖开发环境搭建、关键外设虚拟化配置、AUTOSAR栈集成及虚拟调试与性能调优全流程。通过虚拟原型技术,开发者可提前6-12个月启动软件开发,显著提升汽车电子项目的开发效率。

weixin_30606461的博客 292

STM32以太网通信-STM32以太网外设(ETH)

通过 DMA 控制器进行介质访问控制 (MAC) STM32F4xx系列控制器内部集成了一个以太网外设,它实际上是一个通过DMA控制器进行介质访问控制(MAC),它的功能就是实现MAC 层的任务。 借助以太网外设,STM32F4xx 控制器可以通过ETH 外设按照IEEE 802.3-2002 标准发送和接收MAC 数据包。 ETH 内部自带专用的DMA 控制器用于MAC,ETH 支持两个工业标准接口介质独立接口(MII)和简化介质独立接口(RMII)用于与外部PHY 芯片连接。MII 和RMII 接口用于

暖暖_的_纠结的博客 2万+

下载所有xkcd漫画解析《python编程快速上手:让繁琐工作自动化》

《python编程快速上手,让繁琐工作自动化》一个项目的解析,希望我的理解方法能够帮助到你。

2402_83651472的博客 2432

【数据挖掘】遗传算法原理浅析:什么是遗传算法?遗传算法的工作原理是什么?

遗传算法(Genetic Algorithm,GA),是进化算法的框架和核心。 各种进化算法有什么异同? - 及时物语的回答 - 知乎 https://www.zhihu.com/question/39152390/answer/901070749

纸羊同学的博客 4286

Python编程快速上手,让繁琐工作自动化(附下载)

今天给大家分享一份Python程序员的圣经——《Python编程快速上手:让繁琐工作自动化》。这是本面向实践的Python编程实用指南。

libaiup的博客 4855

【ARM Trace32(劳特巴赫) 使用介绍 13 -- Trace32 Var 变量篇】

例如我们已经知道一个符号(可能是变量或者函数)的地址,怎么确定这个地址是一个变量还是一个函数呢?如果是变量的话,变量名是啥?变量定义的位置在哪?如果是函数,函数名是啥?函数定义的位置又在哪呢?查看结构体变量 str_t32 的值。例如我们已经知道了一个符号的地址为。在map文件中的地址为。

CodingCos的博客 2350

vue2 - 最新详细实现高德地图绘制动态热力图详细教程,在某区域或城市地图上做“热力图层“展示人流量、旅游人口密度、热量图、全国地区地理热力图,利用颜色的深浅表示密度或强度等场景(详细示例代码教程)

vue2,nuxt2,高德地图,热力图,绘制热力图层,报错,卡顿,出不来怎么办,无法关闭,怎么解决这个问题,出错,城市名称,城市某个街道,城区,省份,市区,县城,乡镇,村,各省份的热力图,交通流量,人口流量,密度,旅游出行,人口数量,颜色介绍,深浅代表,人流量,vue2使用高德地图实现某个区域热力图,vue高德地图api加载热力图及关闭,接收热力图数据并渲染热力图,关掉热力图,Vue使用高德API制作热力图,热力图加载不出来,电子围栏围住热力图,vue2中使用高德地图渲染热力图组件,高德地图使用热力图详细教

✅ 精选推荐文章 4201

Python编程快速上手:让繁琐工作自动化源码——轻松提升工作效率

Python编程快速上手:让繁琐工作自动化源码——轻松提升工作效率 去发现同类优质开源项目:https://gitcode.com/ 项目核心功能/场景 Python编程快速上手,实现工作自动化,简化重复任务。 项目介绍 在这个信息化时代,许多工作都需要我们手动重复执行,这不仅耗时而且容易出错。为此,《Python编程快速上手:让繁琐工作自动化》源码应运而生。这个开源项目为广大编程爱好者提供了一个...

gitblog_06798的博客 441

9.4 Ollama私有化部署实战:6大场景玩转本地大模型管理

Ollama 是一款强大的私有化大模型管理工具,适用于多种本地化部署场景。在本地开发测试中,开发者可以通过 Ollama 快速启动大模型服务,支持轻量化模型和即时切换不同版本。企业内部私有化部署时,Ollama 提供完整的解决方案,支持多模型管理和 API 鉴权。在边缘计算场景中,Ollama 可以在物联网设备端部署轻量化模型,实现实时推理。研究人员可以利用 Ollama 进行多模型实验对比,快速评估不同模型的性能。高校实验室可以通过 Ollama 构建定制化研究环境,支持教学实验。对于数据隐私敏感行业,O

yonggeit的博客 3311

python经典书记必读:Python编程快速上手 让繁琐工作自动化

所属网站分类: 资源下载 >python电子书 作者:熊猫烧香 链接:http://www.pythonheidong.com/blog/article/69/ 来源:python黑洞网,专注python资源,python教程,python技术! 这本书前6章是python的基础知识,通俗易懂地讲解基础,初学者容易犯错的地方,作者都会指出来。从第三章开始,每章都有一个实践项目...

weixin_39363245的博客 1942

全面解析量化价值投资多因子模型的原理

明明知道“买便宜的好公司”是价值投资的核心,但面对3000+只A股,如何快速筛选出“便宜又好”的标的?主观判断总被情绪干扰——明明PE很低的股票,买了却不涨;或者因为“感觉”错过牛股?想规模化投资,但手动分析100只股票就要花一周,根本无法覆盖全市场?量化价值投资的多因子模型,正是解决这些问题的钥匙。它将价值投资的核心逻辑(“便宜”“好公司”)转化为可量化的因子,用数学模型替代主观判断,实现系统化筛选、可回测验证、规模化复制的投资决策。为什么多因子模型能有效预测股票收益?

AI天才研究院 1059

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Python编程快速上手-让繁琐工作自动化 — 读书与代码笔记

chapter1 最近在学习《Python编程快速上手-让繁琐工作自动化》一书,学习这种代码操作实践性比较强的工具书,最好的办法就是跟着书上的一些例子和习题敲代码观察效果,跟随书本的进度来一个个实现作者提出的问题,敲下每个小程序段并调试成功,记录下书本的关键点,并整理保存在项目文件夹方便日后查阅,将会让自己在学习的过程中感受到自己的进步,同时也有助于慢慢提高自己的代码风格构建和代码编写能力。 作者在每章最后设计的实践项目作业题很有总结性,也非常实用,每章都有留下一道大题并给出代码思路,让读者来实现,在此

qq_34894319的博客 316

深度学习工具包 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")

上一篇: 用Python复刻童年的20款小游戏,你玩过哪些?
下一篇: Python经典书籍有哪些?来看看你看过哪几本
HUHU爱学习
博客等级 码龄4年 1221粉丝 75原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值