【python入门】day17:模块化编程、math库常见函数

Python角度与弧度转换:math与numpy库实战指南 在编程与科学计算中,角度与弧度的概念是几何运算与三角函数应用的基础。弧度制因其与半径的自然关联,在微积分与物理公式中能简化计算,是高等数学与工程领域的标准单位。其技术价值在于确保三角函数输入输出的单位一致性,避免因混用导致的逻辑错误与可视化失真。应用场景广泛覆盖数据可视化、物理仿真、游戏开发、机器人运动学及信号处理等领域。本文聚焦于Python中math与numpy库的实战操作,深入解析角度与弧度的转换原理,并针对反三角函数计算与批量数据处理提供解决方案,帮助开发者高效处理几何数据,提升代码的准确性与性能。 阅读详情

什么叫模块

在这里插入图片描述

模块的导入

导入所有:import 模块名称
导入指定:from 模块名称 import 函数/变量/类

python的math库

什么是math库

Python的math库是Python的内建库之一,它提供了许多数学函数,包括三角函数、对数函数、幂函数等,以及一些数学常量如圆周率(pi)和自然对数的底(e)。这个库主要用于处理基础数学运算和数学函数的计算。

Python的math库是Python的内置模块,它提供了许多数学函数和常量,可以帮助我们进行数学运算。

math库的使用

由于math库是python的内置库,所以我们只需要导入它即可正常使用。导入的方法非常简单:
import math

math库的常见函数和常量

常量

以下是一些常见的:

math.pi:表示圆周率π,大约等于3.141592653589793。

math.e:表示自然常数e,即自然对数的底数,大约等于2.718281828459045。

math.tau:表示数学常数τ,它等于2π,大约等于6.283185307179586。这个常量在Python 3.6版本中被添加。
math.inf:表示正无穷大。例如,对于所有的x(除了math.nan),math.inf > x都为真。
math.nan:表示一个特殊的浮点数“NaN”(Not a Number)。对于所有的x,math.nan != x都为真,包括math.nan != math.nan。

基本数学函数

以下是一些常见的:

math.fabs(x): 返回x的绝对值。

math.ceil(x): 返回大于或等于x的最小整数。

math.floor(x): 返回小于或等于x的最大整数。

math.exp(x): 返回e的x次幂。

math.log(x[, base]): 返回x的自然对数,如果给出了base,那么返回以base为底的x的对数。

math.pow(x, y): 返回x的y次幂。

math.sqrt(x): 返回x的平方根。

math.sin(x): 返回x的正弦值。

math.cos(x): 返回x的余弦值。

math.tan(x): 返回x的正切值。

math.asin(x): 返回x的反正弦值。

math.acos(x): 返回x的反余弦值。

math.atan(x): 返回x的反正切值。

math.radians(x): 把角度x转换为弧度。

math.degrees(x): 把弧度x转换为角度。

幂和对数函数

以下是一些常见的:

math.pow(x, y): 返回x的y次幂。这和使用内建的运算符略有不同,math.pow()总是返回一个浮点数,而运算符会返回整数类型,如果两个操作数都是整数。

math.sqrt(x): 返回x的平方根。等同于math.pow(x, 0.5)。

math.exp(x): 返回e的x次幂。这个函数在计算较大的x时比math.pow(math.e, x)更精确。

math.log(x[, base]): 如果没有提供base,返回x的自然对数(以e为底)。如果提供了base,返回以base为底x的对数。

math.log1p(x): 返回1+x的自然对数(以e为底)。对于很小的x,这个函数比math.log(1+x)更精确。

math.log2(x): 返回以2为底x的对数。

math.log10(x): 返回以10为底x的对数。

三角函数

三角函数

math.sin(x): 返回x的正弦值。

math.cos(x): 返回x的余弦值。

math.tan(x): 返回x的正切值。

反三角函数

math.asin(x): 返回x的反正弦值。x的范围必须在-1到1之间。

math.acos(x): 返回x的反余弦值。x的范围必须在-1到1之间。

math.atan(x): 返回x的反正切值。

math.atan2(y, x): 返回y/x的反正切值,考虑了值的符号,所以可用于确定坐标系中点(y, x)的角度。返回值范围为-π至π。

角度和弧度转换函数

math.radians(x): 将角度x转换为弧度。

math.degrees(x): 将弧度x转换为角度。

高级函数

组合和排列

math.comb(n, k): 返回n个物品中取k个的组合数。只在Python 3.8及以上版本可用。

math.perm(n, k): 返回n个物品中取k个的排列数。只在Python 3.8及以上版本可用。

指数和对数函数

math.expm1(x): 返回e的x次幂减1。对于很小的x,这个函数比math.exp(x)-1更精确。

math.log1p(x): 返回1+x的自然对数。对于很小的x,这个函数比math.log(1+x)更精确。

双曲函数和反双曲函数

math.sinh(x): 返回x的双曲正弦。

math.cosh(x): 返回x的双曲余弦。

math.tanh(x): 返回x的双曲正切。

math.asinh(x): 返回x的反双曲正弦。

math.acosh(x): 返回x的反双曲余弦。

math.atanh(x): 返回x的反双曲正切。

特殊函数

math.gamma(x): 返回x的Gamma函数值。Gamma函数是阶乘函数的扩展,可以接受实数或复数输入。

math.lgamma(x): 返回x的Gamma函数的自然对数的绝对值。

math.erf(x):返回x的误差函数值。

复数运算

虽然复数运算主要在cmath模块中进行,但math模块也提供了一些处理复数的函数:

math.isclose(a, b, *, rel_tol=1e-09, abs_tol=0.0):判断两个数是否接近。rel_tol是相对容差,abs_tol是绝对容差。这是一种更为科学的比较浮点数的方法。

math.isfinite(x):如果x是正无穷大、负无穷大或NaN,则返回False,否则返回True。

math.isinf(x):如果x是正无穷大或负无穷大,则返回True,否则返回False。

math.isnan(x):如果x是NaN,则返回True,否则返回False。

取整函数

math.floor(x): 返回小于或等于x的最大整数。换句话说,对x向下取整。

math.ceil(x): 返回大于或等于x的最小整数。换句话说,对x向上取整。

math.trunc(x): 返回x的整数部分。它的行为类似于向0取整,也就是说,如果x是正数,它的行为类似于math.floor(x),如果x是负数,它的行为类似于math.ceil(x)。

math.modf(x): 返回x的小数部分和整数部分。返回值是一个元组,第一个元素是x的小数部分,第二个元素是x的整数部分。
————————————————
这些函数在统计学和物理学等领域有着广泛的应用。

希望这些信息能帮助你更深入的理解Python的math模块。官方文档(https://docs.python.org/3/library/math.html)是学习math模块最好的资源,其中包含了所有函数的详细说明和示例。

在这里插入图片描述

以主程序方式运行

在每个模块的定义中都包括一个记录块名称的变量__name__,程序可以检查该变量,以确定他们在哪个模块中执行。如果一个模块不是被导入到其他程序中执行,那么它可能在解释器的顶级模块中执行。顶级模块的__name__变量的值为__main__
在这里插入图片描述
在Python中,解释器的顶级模块是指在一个脚本或交互式会话中执行的代码的最高级别模块。当你运行一个Python脚本或在交互式解释器中输入代码时,解释器会从脚本或输入的代码开始执行,并将其视为顶级模块。

在顶级模块中,你可以定义变量、函数和类,并执行任何你想要的操作。它是代码执行的起点,可以初始化和执行整个程序。

在一个Python脚本中,通常把一些常见的操作放在顶级模块中,例如导入其他模块,定义全局变量,设置配置参数等。

下面是一个示例的Python脚本,其中顶级模块包含了一些常见的操作:

import math

PI = 3.14159

def calculate_area(radius):
    return PI * math.pow(radius, 2)

print("计算圆的面积")
r = float(input("请输入半径:"))
area = calculate_area(r)
print("圆的面积为:", area)

在这个示例中, import math 是一个顶级模块中的导入语句,而 PI 和 calculate_area 是顶级模块中定义的全局变量和函数。最后,通过 print 函数输出计算得到的圆的面积。

总结来说,顶级模块是Python解释器执行代码的起点,并且可以用来定义变量、函数和类等。

python中的包

导入带有包的模块时注意事项
[ ] 使用import方式进行导入时,只能跟包名或模块名
[ ] 使用from…import可以导入包,模块,函数,变量
在这里插入图片描述

能正常运行,但是包名为什么显示红色线
可能是pycharm不能正常识别,但是python解释器可以正常识别,可以不用管,不影响正常运行。

常用的内置模块

在这里插入图片描述
import 包名.模块 as xx
from 包名 as 模块
#python中常用的 内置模块
‘’’
sys:与python解释器及环境操作相关的标准库
time:提供与时间相关的各种函数标准库
os:提供了访问操作系统服务功能的标准库
calendar:提供与日期相关的各种函数的标准库
urllib:用于读取来自网上(服务器)的数据标准库
json:用于使用JSON序列化和反序列化对象
re:用于在字符串中执行正则表达式匹配富替换
math:提供标准算数运算函数的标准库
decimal:用于进行精准控制运算精度、有效位数和四舍五入的十进制操作
logging:提供了灵活的记录事件、错误、警告和调试信息等日志信息功能

第三方模块的安装与使用

'''
import sys
print(sys.getsizeof(24))
import time
print(time.time())
print(time.localtime(time.time()))
#第三方模块的安装
'''
pip install 模块名
schedule模块 (计划模块)
在线安装步骤:打开命令-->输入pip install schedule安装-->import 库名(没有报错表示安装成功)
pycharm中不能使用安装的库解决办法-->设置-->python解释器-->+号-->搜索要安装的库名-->选择版本-->
        install package(下载安装)
'''
import schedule
import time
def job():
    print('哈哈----')
schedule.every(3).seconds.do(job)
while True:
    schedule.run_pending()
    time.sleep(1)
#总结
#模块与包:模块:1、避免函数名/变量名重名
#2、自定义模块-->一个 .py的文件成为一个模块
#3、第三方模块:1、安装pip install 模块名
#2、使用:from...import 模块名
#包:避免模块名重名
#包含_init_.py的文件

常见问题

执行程序时报错为:未找到schedule模块
解决办法:在cmd里面敲 where python 找到Python的安装路径,然后把pycharm中的解释器换成刚才的路径
在这里插入图片描述

Python:math库(数学库)介绍及其使用 math顾名思义,就是“数学”之意,在Python中,math库的存在能够有效的解决数学中的运算,为程序的运行提供了保障,同时也为大数据的处理提供了一定的基础。 math库包含了许多的数学公式,这些公式有许多常见的,对于大家来说,一点儿也不陌生。 好了,话不多说,直接进入主题吧! 首先,先介绍一下math库的导入方式: 方法一: import math 方法二: from math impo... 阅读详情

相关推荐

chatgpt赋能python:Python中的importmath

在Python中,import math是一种导入函数库的方式。它允许开发者在代码中使用math库中定义的函数,以便在程序中进行各种数学运算。本文由chatgpt生成,文章没有在chatgpt生成的基础上进行任何的修改。以上只是chatgpt能力的冰山一角。作为通用的Aigc大模型,只是展现它原本的实力。对于颠覆工作方式的ChatGPT,应该选择拥抱而不是抗拒,未来属于“会用”AI的人。🧡AI职场汇报智能办公文案写作效率提升教程 🧡专注于AI+职场+办公方向。下图是课程的整体大纲下图是。

「 虚幻私塾」 2627

math 标准库函数汇总

math库概述 math库是Python 提供的内置数学类函数库 math库不支持复数类型 math库一共提供了4个数学常数和44个函数。44个函数共分为4类,包括:16个述职表示函数、8个幂对数函数、16个三角对数函数和4个高等特殊函数 math库引用 首先使用保留字import引用该库 import math 对math库中函数函数采用math.()形式使用 from math impo...

holiday0的博客 3830

python的math库如何使用

库提供了一些数学函数,可以计算常用的数学运算,如三角函数、对数、幂等。

zhangzhechun的专栏 3395

Python标准库 —— math库

本文介绍了 Python math库的全部内容,math库主要用于数字计算。

weixin_51335227的博客 1万+

XGBoost与Embedding混合建模实战解析

在机器学习领域,特征工程与模型融合是提升预测性能的关键技术。Embedding技术通过将高维稀疏特征(如文本、ID类数据)转化为低维稠密向量,有效捕获语义关联;而XGBoost作为强大的集成学习算法,擅长处理结构化特征并进行自动特征组合。两者结合的混合架构(如Semantic Boosted Trees)在金融风控和推荐系统等场景中展现出显著优势,尤其在处理用户行为序列、商品ID等复杂特征时,相比传统方法能获得更好的模型效果。本文通过电商推荐和金融反欺诈等案例,详解如何实现Embedding+XGBoost

weixin_28718641的博客 324

解忧杂货铺(四):Hightec生成HEX方法+小功能开启

Hightec使用的一些常用技能

梦想技术家 2160

【Python-Day 25】玩转数字:精通 math 与 random 模块,从数学运算到随机抽样

从今天开始,我们将探索其中一些最常用、最实用的内建模块。本次我们将聚焦于两个与数字打交道的得力助手:`math` 模块和 `random` 模块。无论你是要进行科学计算、数据分析,还是开发游戏、进行模拟,这两个模块都是不可或缺的基础工具。本文将带你深入了解它们的核心功能,并通过丰富的实例,让你轻松掌握数学运算与随机数生成的技巧。

吴师兄大模型的博客 2513

野火STM32F407(骄阳)+无刷直流驱动板+永磁同步电机控制学习记录(四)(基于HAL库)

以上内容都是参考别人资料自学的,很多地方都是凭感觉,因为理论部分不太会算,只要电机能转就行,其他性能指标都没考虑,因为不会,所以这纯属是学习记录帖。带宽在500时,电流波动小,但是响应很慢,就是堵转后不太容易恢复转动。速度环带宽设定小了,响应不够快,带宽设定大了波动比较大,电机感觉起来也震一点,而且,当带宽设到200的时候,启动直接就锁死了,应该是PI增益设定太大了。电流环带宽的试验:去掉速度环,让Iq_Set=2,Ud=0,此时电机是电流环闭环控制,用手堵转电机然后松开,看电流的波动以及响应情况。

XUEXIDEXIAOhai的博客 4553

Day042: math 模块:数学函数的使用

在 Python 编程中,数学计算是常见的需求之一,而 math 模块为我们提供了丰富多样的数学函数,涵盖了从基本的数学运算到复杂的数学计算的各个方面,能够帮助我们高效地完成各种数学任务。熟练掌握 math 模块的使用,对于从事科学计算、数据分析、工程建模等领域的开发者来说至关重要。在本篇文章中,我们将深入探讨 math 模块中各种数学函数的使用方法和应用场景,通过大量的实例代码让大家更好地理解和掌握这个强大的模块。

u014481728的博客 1414

基于STM32的可穿戴式多生理参数实时监测与预警系统

针对传统可穿戴健康设备存在的生理参数监测种类单一、数据处理依赖云端导致响应滞后、续航能力弱等问题,设计一种基于STM32的可穿戴式多生理参数实时监测与预警系统。系统以STM32L476RG低功耗微控制器为核心,集成心率血氧传感器、体温传感器、血压传感器,实现人体心率、血氧饱和度、体温、收缩压/舒张压的同步采集;通过边缘端轻量化数据处理算法完成参数异常判定,结合低功耗硬件设计与软件休眠策略,在保证监测精度的同时延长续航。测试结果表明,系统心率监测误差≤2次/分钟,血氧饱和度误差≤2%,体温误差≤±0.2℃,血

m0_74026776的博客 2039

基于LSTM的股票价格预测系统,Django框架,Web的股票预测系统,训练+数据集+源码(无需安装环境版)

股票价格预测是投资领域的一个重点关注课题。由于股票价格受到诸多非线性因素的影响,得到精确的预测结果较为困难。使用 PyCharm 作为代码开发工具,通过下载好的股票金融数据,进行数据预处理,构建 LSTM 网络模型,训练模型并训练出最优模型,输出股票未来收盘价波动的走势,最后在训练好的模型上,设计股票模型应用系统,运行效率较高,对股票预测具有一定的积极意义。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 954

人工智能day9——模块化编程概念(模块、包、导入)及常见系统模块总结和第三方模块管理

模块功能官方文档math数学运算math --- 数学函数 — Python 3.12.10 文档os操作系统接口os --- Miscellaneous operating system interfaces — Python 3.13.5 文档os.path路径相关os.path --- Common pathname manipulations — Python 3.13.5 文档datetime日期和时间。

a150463的博客 855

R语言dplyr包recode函数、recode_factor函数数值或因子替换实战

R语言dplyr包recode函数、recode_factor函数数值或因子替换实战 目录 R语言dplyr包recode函数、recode_factor函数数值或因子替换实战 #导入dplyr包 #recode函数进行数值替换 #recode_factor函数对因子变量进行替换 #导入dplyr包 install.packages("dplyr") # Install & load dplyr library("dpl.

data+scenario+science+insight 1589

6个月Python学习计划 Day 10 - 模块与标准库入门

本文介绍了Python模块的基础知识与应用。主要内容包括:1) 模块概念及导入方式(import/from...import);2) 常用标准库:math数学运算、random随机数生成、datetime日期处理;3) 自定义模块开发实践,示例演示了质数判断和字符串反转功能;4) 实战练习任务:通过4个编程练习巩固模块使用技能。文章还总结了各模块的核心功能,帮助初学者系统掌握Python模块化编程方法。

FAN的博客 922

FISCO BCOS(八)——— 一键部署 WeBase

环境 版本 Java Oracle JDK 8 至 14 MySQL MySQL-5.6及以上 Python Python3.6及以上 PyMySQL 1、获取部署安装包: wget https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/releases/download/v1.5.4/webase-deploy.zip 2、解压安装包: unzip webase-deploy.zip 3、进入目录: c...

林中有神君 3607

在 SAP 里,想让“同一笔业务”在多个账套(平行分类账)中生成不同编号的会计凭证,标准做法就是

摘要:SAP系统中实现同一业务在不同分类账生成独立凭证号的方法是为每个分类账配置独立的凭证类型-编号范围映射。通过FBN1/OBA7等事务码为各分类账分配专属编号段,系统过账时会按分类账自动取号,确保凭证号互不冲突。该方案适用于S/4HANA和ECC系统,支持标准过账(F-02)或分类账专属过账(FB01L)两种模式,最终实现"一业务多账套,各自独立编号"的目标。

金牌架构师 549

python math库常用函数_Python 科学计算常用函数库学习

1、简介数值计算NumPy为Python(wwwxihefangpeicom)带来了真正的多维数组功能,它对常用的数学函数进行数组化,使这些数学函数能直接对数组进行运算,将本来需要在Python中进行的循环运算,转移到高效率的库函数中,充分利用这些函数能明显提高程序的运算速度。SciPy则在Numpy的基础上添加了许多科学计算的函数库,比如LAPACK\FFTPACK\ODEPACK\MINPAC...

weixin_39611208的博客 418

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Python函数与模块化编程:基础概念与实践指南

函数是编程语言中的基本构建块,通过封装特定功能实现代码复用。Python函数采用def关键字定义,支持位置参数、关键字参数和默认参数等多种传参方式,其变量作用域遵循LEGB规则。模块化编程通过将代码组织为独立模块(module)来提升可维护性,Python标准库如math、random等提供了丰富的内置模块资源。理解这些核心概念对于构建结构化程序至关重要,特别是在数据处理、Web开发等应用场景中。本文以Python DAY5课程为例,详细解析函数定义、变量作用域和模块导入等关键技术点,并演示如何通过构建简易

aibi9196的博客 466

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Python常用模块的常用方法介绍 os、math、random、time、datetime、国内常见镜像

导入模块的一些语法 from random import randint#2、from 模块名 import 函数名,导入模块里的一个方法或变量 from math import * #3、from 模块名 import * ,导入模块里的'所有'(并不是所有的都能导进来)方法和变量 import datetime as dt#4、导入一个模块并给它起一个别名 from copy import deepcopy as dc#5、导入模块里的一个方法或变量,并给它起一个别名 ...

hmh4640219的博客 3794

深度学习工具包 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常用库(一)

python的一些基本常用库

LS_Ai的博客 961

Python学习日记-day3基础篇 math 模块 cmath 模块

Python学习日记-day3基础篇 math 模块 cmath 模块 Python数学函数Python随机数函数Python三角函数Python数学常量 Python 中数学运算常用的函数基本都在 math 模块、cmath 模块中。 Python math 模块提供了许多对浮点数的数学运算函数。 Python cmath 模块包含了一些用于复数运算的函数。 cmath 模块的函数跟 math 模块函数基本一致,区别是 cmath 模块运算的是复数,math 模块运算的是数学运算。 要使用 math 或

北栀一刺的博客 290

Python标准库模块的使用:math、datetime

是Python自带的一系列模块和包,这些模块提供了大量常用的功能,可以让我们更方便地进行编程,而无需重复造轮子。这两个模块是Python中非常常用且实用的标准库,掌握它们的使用能让我们在编程中更加得心应手,轻松处理各种数学计算和时间日期的操作。模块,我们能够非常方便地处理日期和时间,进行日期的加减运算,或者将日期和时间转换为不同格式的字符串,满足各种应用需求。模块,我们可以轻松地获取当前的日期和时间,进行日期时间的格式转换,计算时间差等。模块,我们能够高效地进行各种数学计算,避免了自己编写复杂的算法。

分享人工智能领域原创文章 561

python3.5.2没有math模块_第37天:Python math 模块

我们知道 Python 有很多运算符可以进行数学运算,如果是简单的问题还好说,但是要处理一些相对复杂的问题也要我们自己一行一行手动的来编写吗?答案当然不是,Python 提供了 math 模块对一些数学运算提供了支持。1 简介 math 模块提供了对 C 标准定义的数学函数的访问,但该模块并不支持复数运算,如果想使用复数预算需使用 cmath 模块,将支持计算复数的函数区分开的目的,来自...

weixin_30505255的博客 468

python.day.03——math模块之常用函数

&#13; math模块下的常用函数,总结一下,方便以后使用 import math from decimal import Decimal from decimal import getcontext from fractions import Fraction def func_test(num_list, num_list2): ''''' math...

Rosay的博客 394

Python从入门到精通day14

本文讲解了Python函数和模块的基本概念与应用。首先通过计算组合数的例子展示了如何使用循环实现阶乘计算,并指出重复代码的问题。随后介绍了如何通过def定义函数来封装重复功能,演示了阶乘函数的定义与调用。文章还详细讲解了函数参数的不同形式:位置参数、关键字参数、默认参数和可变参数,以及如何避免命名冲突的模块管理方法。最后列举了Python内置函数和标准库模块的使用,强调合理利用现有函数避免重复造轮子。通过函数封装和模块化管理,可以显著提升代码质量和开发效率。

南 阳 的博客 693

Day041: Python 标准库概览

在 Python 编程的世界里,标准库就如同一座巨大的宝藏库,为我们提供了丰富多样的模块和函数,涵盖了各种各样的功能领域,从系统操作、文件处理到网络编程、数据处理等等,几乎我们能想到的常见编程任务,都能在标准库中找到相应的工具来帮助我们高效地完成。熟练掌握 Python 标准库,对于 Python 程序员来说是提升编程能力、开发效率以及代码质量的关键一步。

u014481728的博客 1220
上一篇: 【python入门】day16:类的赋值与浅深拷贝
下一篇: 【python入门】day18:文件、os相关操作
Next2you
博客等级 码龄7年 1238粉丝 166原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Next2you

你真帅!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值