当前位置: 首页 > wzjs >正文

网站建设专业培训河北建设厅网站设置

网站建设专业培训,河北建设厅网站设置,网易企业邮箱手机怎么登录,室内设计公司排名及案例引言 在前序对机器学习的探究过程中,我们已经深刻体会到人工智能到处都有微分求导运算,相关文章链接包括且不限于: BP神经网络 逻辑回归 对于pytorch张量,求导运算必不可少,所以本次就专门来学习一下。 f-string的用…

引言

在前序对机器学习的探究过程中,我们已经深刻体会到人工智能到处都有微分求导运算,相关文章链接包括且不限于:
BP神经网络
逻辑回归
对于pytorch张量,求导运算必不可少,所以本次就专门来学习一下。

f-string的用法

f-string是python语言里面一种简洁且强大的字符串格式化方法,对内容的引用和输出较为高效。

确实也可以不适用f-string,但刚好学习到导数计算比较简单,所以就一起学习一下。

f-string以“f”或“F”开头,用单引号“‘”和“’”引用自由添加的字符串,如果要引用变量,就用大括号“{}”包起来。

常规输出

常规输出格式:f+‘输出内容+{“引用内容”}’。示例代码:

h = 0.1234567
print(f'h当前值:{h}')


这个代码的运行效果:h当前值:0.1234567
在这里插入图片描述

控制小数位数输出

常规输出格式:f+‘输出内容+{“引用内容:.xf”}’。

“引用内容:.xf”的意思是,对浮点数f,保留x位小数。示例代码:

h = 0.1234567
print(f'h当前值:{h}')
print(f'h当前值(1位小数):{h:.1f}')
print(f'h当前值(3位小数):{h:.3f}')
print(f'h当前值(5位小数):{h:.5f}')
print(f'h当前值(8位小数):{h:.8f}')
print(f'h当前值(10位小数):{h:.10f}')

在这里插入图片描述
由图2可见,h的当前值按照x的设置量调整了小数位数。

如果想把代码写得紧凑,比如写成一个for循环,上述代码可优化为:

h = 0.1234567
print(f'h当前值:{h}')
print(f'h当前值(1位小数):{h:.1f}')
print(f'h当前值(3位小数):{h:.3f}')
print(f'h当前值(5位小数):{h:.5f}')
print(f'h当前值(8位小数):{h:.8f}')
print(f'h当前值(10位小数):{h:.10f}')
for i in range(10):print(f'h当前值保留{i}位小数:{h:.{i}f}')

需要注意的是,引用的变量应该用大括号"{}"包起来。

代码运行效果为:
在这里插入图片描述

pytorch导数

计算导数的定义式为:
f ′ ( x ) = lim ⁡ x → 0 f ( x + h ) − f ( x ) h f^{'}(x)=\lim_{x \to 0}\frac{f(x+h)-f(x)}{h} f(x)=x0limhf(x+h)f(x)
基于此,继续优化代码:

h = 0.1234567
print(f'h当前值:{h}')
print(f'h当前值(1位小数):{h:.1f}')
print(f'h当前值(3位小数):{h:.3f}')
print(f'h当前值(5位小数):{h:.5f}')
print(f'h当前值(8位小数):{h:.8f}')
print(f'h当前值(10位小数):{h:.10f}')
for i in range(5):print(f'h当前值保留{i}位小数:{h:.{i}f}')# 定义原函数
def f(x):return 3*x**2-3*x# 定义求导函数
def numerical_lim(f, x, h):return (f(x + h) - f(x)) / h# 修改偏移量
h=0.1
for i in range(10):print(f'h={h:.5f}.时的函数值为{f(h):.5f},导数值为{numerical_lim(f,1,h):.8f}')h*=0.1

这里先定义了原函数:

def f(x):
return 3x**2-3x

然后定义了原函数的导数:

def numerical_lim(f, x, h):
return (f(x + h) - f(x)) / h

最后通过改变自变量偏移量的形式,不断逼近导数的真实值:

h=0.1 for i in range(10):
print(f’h={h:.5f}.时的函数值为{f(h):.5f},导数值为{numerical_lim(f,1,h):.8f}')
h*=0.1

代码运行后的效果为:
在这里插入图片描述
可见,随着偏移量的减小,在x=1位置处,函数f(x)的导数值不断趋向准确值3。

细节说明

由于小数位数的限制,如果继续减小h到h=0.000 000 000 000 000 100,函数f(x)的值和导数值都会变成0。
对此有两种解释:

  1. x此时本身是无穷小量,在f(x)=3x**2-3x中,极小的x计算了平方后,已经远远小于x本身,函数f(x)的值和导数值都是无穷小量,计算效果输出0。
  2. Python 的 float 类型使用 IEEE 754 双精度 64 位浮点数,提供约15-17位十进制有效数字,一旦超出就可能不准。h=0.000000000000000100的1出现在第16位,此时的计算结果就会出现不准。

可运行此时的代码测试:

h = 0.1234567
print(f'h当前值:{h}')
print(f'h当前值(1位小数):{h:.1f}')
print(f'h当前值(3位小数):{h:.3f}')
print(f'h当前值(5位小数):{h:.5f}')
print(f'h当前值(8位小数):{h:.8f}')
print(f'h当前值(10位小数):{h:.10f}')
for i in range(5):print(f'h当前值保留{i}位小数:{h:.{i}f}')# 定义原函数
def f(x):return 3*x**2-3*x# 定义求导函数
def numerical_lim(f, x, h):return (f(x + h) - f(x)) / h# 修改偏移量
h=0.1
for i in range(20):print(f'i={i},h={h:.18f}.时的函数值为{f(h):.18f},导数值为{numerical_lim(f,1,h):.18f}')h*=0.1

在这里插入图片描述

总结

学习了pytorch导数运算和相关的f-string使用方法。

http://www.dtcms.com/wzjs/578311.html

相关文章:

  • 广州网站建设找新际优化神马网站关键词排名价格
  • 根目录下两个网站怎么做域名解析标签云小工具 wordpress nofollow
  • 公司网站建设的需求外贸企业网站红色风格
  • 网站的锚点链接怎么做网站搭建好有什么内容可以修改
  • 网站怎么引入微信支付公司网站文化活动备案
  • 大型门户网站建设大概多少钱开发个直播app软件多少钱
  • 杭州移动公司网站网站策划报告书怎么做
  • 游标卡尺 东莞网站建设hashone wordpress
  • 软件网站是怎么做的吗wordpress表格不显示
  • 苏州诶茵诶公司网站制作网页的工具主要有哪些
  • 做公司中文网站需要注意什么免费建网站视频教程
  • 手机网站 域名解析企业网站建设毕业设计
  • 青岛品牌网站建设价格淘宝网站建设方案模板
  • 网站建设 超薄网络深圳网站网站开发
  • 小学网站建设设计方案网站建设考评表
  • 杭州网站建设费用多少钱txt 发布 wordpress
  • 个人网站主页建设教程做图素材网站
  • 铁岭网络推广网站建设网站建设效果
  • 网站 数据库 关系wordpress首页404
  • 广州免费建站排行做的比较好的时尚网站
  • 开发一套网站价格wordpress算术验证码
  • 买权重网站开发软件的成本预算
  • 安徽建网站公司爱唐山做贡献月评十佳投票网站
  • 网站建设存在问题整改报告wordpress只备份数据
  • 个人网站模板html建设一个直播网站
  • 外卖做的比较好的网站装修公司走心文案
  • 锁定网站导航栏自己制作一个网站的软件
  • 建水网站开发网站模板的使用
  • 建设银行新版网站上线乐云seo官网
  • wordpress 站点主页万户网络是干什么的