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

网站配置服务Wordpress企业seo网站推广公司

网站配置服务Wordpress,企业seo网站推广公司,备案ip 查询网站查询,眉山手机网站建设一般代码使用cuda加速的方法#xff1a; 使用PyTorch进行加速#xff1a; 首先#xff0c;你需要将你的ODE系统定义为PyTorch模型#xff0c;这样可以利用PyTorch的自动微分功能和GPU加速。然后#xff0c;你需要将数据和参数转换为PyTorch张量#xff0c;并将它们移动到…一般代码使用cuda加速的方法 使用PyTorch进行加速 首先你需要将你的ODE系统定义为PyTorch模型这样可以利用PyTorch的自动微分功能和GPU加速。然后你需要将数据和参数转换为PyTorch张量并将它们移动到GPU上。最后你可以使用PyTorch的优化器来优化参数同时在GPU上执行计算。 使用Numba进行加速 Numba可以将Python代码即时编译成CUDA代码从而在GPU上执行。你可以使用jit装饰器来标记需要加速的函数并指定targetcuda来将其编译为CUDA代码。在函数内部你需要将数据和参数转换为Numba支持的CUDA数组并使用CUDA加速的函数来执行计算。 目录 使用numba加速 numba应用案例 关于二阶转一阶 使用pytorch加速 pytorch应用案例 使用numba加速 import numba as nbnb.njit def rk45(func, t0, y0, t_end, h):t t0y y0while t t_end:k1 h * func(t, y)k2 h * func(t 0.25 * h, y 0.25 * k1)k3 h * func(t 3/8 * h, y 3/32 * k1 9/32 * k2)k4 h * func(t 12/13 * h, y 1932/2197 * k1 - 7200/2197 * k2 7296/2197 * k3)k5 h * func(t h, y 439/216 * k1 - 8 * k2 3680/513 * k3 - 845/4104 * k4)k6 h * func(t 0.5 * h, y - 8/27 * k1 2 * k2 - 3544/2565 * k3 1859/4104 * k4 - 11/40 * k5)y_next y 25/216 * k1 1408/2565 * k3 2197/4104 * k4 - 0.2 * k5y_error 1/360 * k1 - 128/4275 * k3 - 2197/75240 * k4 1/50 * k5 2/55 * k6t hy y_nextreturn t, ynumba应用案例 我们有一个简单的二阶线性常微分方程 要求解常微分方程组ODEs。 我们可以将这个二阶微分方程转化为一个一阶微分方程组然后使用RK45方法来求解。 import numpy as np import matplotlib.pyplot as plt import numba as nbnb.njit def func(t, y):dydt np.zeros(2)dydt[0] y[1]dydt[1] -2*y[1] - 2*y[0] np.sin(t)return dydtnb.njit def rk45(func, t0, y0, t_end, h):# 省略 rk45 函数的实现可以使用之前给出的实现t0 0.0 t_end 10.0 y0 np.array([0.0, 0.0]) h 0.1t_values [] y_values []t t0 y y0 while t t_end:t_values.append(t)y_values.append(y[0])t, y rk45(func, t, y, t_end, h)plt.plot(t_values, y_values) plt.xlabel(t) plt.ylabel(y) plt.title(Solution of the ODE) plt.show()关于二阶转一阶 给定的二阶微分方程是 [ ] 首先我们引入新变量 ( u ) 来代表 ( y ) 的一阶导数 ( \frac{dy}{dt} )即 [ ] 现在我们可以将原始的二阶微分方程重写为两个一阶微分方程 第一个一阶微分方程是由新变量 ( u ) 的定义直接得到的 [] 第二个一阶微分方程来自于原始方程对 ( y ) 的二阶导数的替换我们将 ( ) 用 ( ) 替换 [ ] 现在numba我们有了一个一阶微分方程组 [ ] [ ] 这个方程组可以用来描述原始的二阶微分方程的动态。一阶微分方程组更容易用数值方法求解因为大多数数值求解器都是为一阶方程设计的。在实际应用中这个方程组可以用标准的数值方法如欧拉法、龙格-库塔法等进行求解。 使用pytorch加速 import torchdef rk45(func, t0, y0, t_end, h):t t0y torch.tensor(y0, requires_gradTrue, dtypetorch.float64) # 将y0转换为PyTorch张量while t t_end:k1 h * func(t, y)k2 h * func(t 0.25 * h, y 0.25 * k1)k3 h * func(t 3/8 * h, y 3/32 * k1 9/32 * k2)k4 h * func(t 12/13 * h, y 1932/2197 * k1 - 7200/2197 * k2 7296/2197 * k3)k5 h * func(t h, y 439/216 * k1 - 8 * k2 3680/513 * k3 - 845/4104 * k4)k6 h * func(t 0.5 * h, y - 8/27 * k1 2 * k2 - 3544/2565 * k3 1859/4104 * k4 - 11/40 * k5)y_next y 25/216 * k1 1408/2565 * k3 2197/4104 * k4 - 0.2 * k5y_error 1/360 * k1 - 128/4275 * k3 - 2197/75240 * k4 1/50 * k5 2/55 * k6t hy y_nextreturn t, ypytorch应用案例 假设我们有一个简单的常微分方程组 我们可以使用rk45函数来求解这个常微分方程组的数值解。 import torch# 定义常微分方程组的右端函数 def func(t, y):dy1_dt y[1]dy2_dt -y[0]return torch.tensor([dy1_dt, dy2_dt], dtypetorch.float64)# 使用rk45函数求解常微分方程组 def rk45(func, t0, y0, t_end, h):# 省略 rk45 函数的实现可以使用之前给出的实现# 初始条件 t0 0.0 y0 [1.0, 0.0] t_end 10.0 h 0.1# 求解常微分方程组 t, y rk45(func, t0, y0, t_end, h)print(t:, t) print(y:, y)
http://www.yutouwan.com/news/78231/

相关文章:

  • 网站自己做推广网站开发用哪个框架
  • 零基础网站建设教学服务wordpress的特点()
  • 河北廊坊建设局网站网站建设参考的文献
  • 网站平台建设实训总结用pycharm做网站
  • 甘肃省建设工程网上投标网站济南新风向网站建设
  • 坪山网站建设平台短视频运营方案书范文
  • 网站线上运营一个网站怎么做2个服务器
  • 电商网站有哪些电商网站订烟平台
  • 三合一网站系统东莞企业网络推广运营技巧
  • 设计师网站卡密登录内蒙网站建设
  • 网站排名推广怎么做网页建设类有哪些软件
  • 淮南营销型网站建设怎么样如何注册公司网站免费注册
  • aspx网站开发 案例建设工程施工合同范文
  • 湛江做网站哪家好设计公司调研报告
  • 网站导航结构的优化九一人才网赣州
  • 国内知名企业网站线上销售技巧
  • 网站开发设计课程教案html个人网页完整代码展示
  • 溧阳网站开发wordpress手机版如何设置
  • 设计网站费用多少wordpress 页面挂件
  • 广州和信建设公司网站网站建设工资高吗
  • 企业电子商务网站公司做网站域名归谁
  • wordpress指定目录为首页台州百度关键词优化
  • 吉林省城乡住房建设厅网站温州网站制作价格
  • iis网站连接数据库失败怎么自己做网页初学者
  • 做网站用地图渭南房产网站制作
  • 重庆免费注册推广网站连云港建设局电力网站
  • 合肥建站比较便宜的公司简单广告设计软件
  • 北京网站设计公司兴田德润放心wordpress 翻译失效
  • 金华规划局网站开发区钙网logo设计免费
  • 建网站需要营业执照吗如何制作局域网站