python数据结构与算法 22 递归图形

【AI 测试】一:算法和数据结构理解 一些常见的图算法包括深度优先搜索(DFS)、广度优先搜索(BFS)、Dijkstra算法、Bellman-Ford算法、Floyd-Warshall算法、Kruskal算法、Prim算法以及最大流算法等。总的来说,图算法是一种强大的工具,它利用图数据结构的特性,通过搜索、优化和其他技术,为各种实际问题提供解决方案。它从图的某一节点(源节点)开始,访问最靠近源节点的所有节点,然后逐层向外扩展,直到访问了图中所有可达的节点。它的工作原理是每次从未排序的元素中选择最小(或最大)的元素,放到已排序的序列末尾。 阅读详情

递归图形

上节中我们已经知道有些问题,如果用递归解决变得非常容易。但是仍然很难在大脑里形成一种模型或可视化的方法,让我们直觉地明白函数递归过程到底发生了什么。这一节我们引入几个例子,用递归的方法画几个有趣的图形,通过观察图形的生成,也许能帮助你洞察递归的过程,从而学会递归的方法。

我们要用的工具是python的图形模块turtle,这个模块伴随python的全部版本而且很容易使用,语法也简单。你可以创建一个turtle(乌龟),让它向前,向后,左转,右转等,它的尾巴能抬起或落下,如果落下,当它运动的时候就画出一条轨迹线。为了增加艺术感,可以修改线条的宽度和墨水的颜色

这里有一个例子来说明turtle的基本功能。这段代码用turtle递归地画一段螺旋线。首先引入模块,然后创建一个turtle对象,并新建一个窗口对象作为画布。下面定义drawSpiral函数。递归函数的基点,是每次运动的距离降到不大于0。向基点运动的方式,是每次画线之后,右转90度,然后再次画线,不过这次的距离就减少。在代码的最后会看到调用函数myWin.exitonclick(),这是一个小方法,作用是turtle对象进入等待模式,如果在窗口里点击,即清理并退出运行。

importturtle

 

myTurtle = turtle.Turtle()

myWin = turtle.Screen()

 

defdrawSpiral(myTurtle,lineLen):

    iflineLen>0:

        myTurtle.forward(lineLen)

        myTurtle.right(90)

        drawSpiral(myTurtle,lineLen-5)

 

drawSpiral(myTurtle,100)

myWin.exitonclick()

知道这些就够了,足以画出令人惊叹的美图。下一个程序我们要画个棵分形树。分形是一个数学分枝,其中有很多的递归思想。分形的定义是,不论把图形放大多少倍,其中总有相似的图形。现实中的例子是象大陆海岸线,雪花,山岭,树或灌木。自然界的分形现象使得计算机能够产生足以乱真的电影效果。

要理解这一点,先要想一想我们是如何描述一个分形树的。记得我说过,分形就是不论放大多少倍,在不同的层级上图形都看起来很象。把这句话放在树或灌木上,可以说一个小树杈有着整棵树的形状和特征。这样说来,一棵树就是树干有左右两个分枝,每个分枝又是比较小的树。看到没有,上面这个定义中用到了递归。用树定义了树。

让我们把想法变成python代码。List1就是用turtle画出的分形树。5-7行是递归调用。第5行是向右转20度之后调用,这是刚才提到的右边的小树。第7行是是另一个递归调用,但这次是左转40度之后的调用。之所以要转40度,是因为先要从刚才的右转中回转20,再转20才是左向20度。另外要注意的是,每次递归,都把树枝的长度减少一块,这是为了让树越来越小。第2行有一个检查过程,防止树枝长度过小,也是递归的基点

Listing 1

1

2

3

4

5

6

7

8

9

deftree(branchLen,t):

    if branchLen>5:

        t.forward(branchLen)

        t.right(20)

        tree(branchLen-15,t)

        t.left(40)

        tree(branchLen-10,t)

        t.right(20)

        t.backward(branchLen)

完全的实现代码在下面。在运行它之前,不妨心中先想像一个,程序会如何绘制这棵树。它会同时对称地在左右两棵树上绘制吗?还是先右再左呢?

i

import turtle
 
def tree(branchLen,t):
    if branchLen > 5:
        t.forward(branchLen)
       t.right(20)
        tree(branchLen-15,t)
        t.left(40)
        tree(branchLen-15,t)
        t.right(20)
        t.backward(branchLen)
 
def main():
    t = turtle.Turtle()
    myWin = turtle.Screen()
    t.left(90)
    t.up()
    t.backward(100)
    t.down()
    t.color("green")
    tree(75,t)
    myWin.exitonclick()
 
main()

注意每一个树枝对应一次递归调用;

注意它是怎样一直向右延伸到最短的末梢,如图1所示;

注意程序怎样回退一直到整个右枝完全画完。整个的右枝见图2.

注意到左树枝以后,不是把左边的一向画到最后的末梢,而是再次把左枝的右枝画到末梢,直到最后画完。





图1 分形树的开始

图2 分形树的右分枝

这个简单的程序只是一个开始点,可能这个树不太“真实”,这是因为自然界不象电脑程序那么对称。本章结束时将给你一些建议去探索一些有趣的选项,使得这棵树显得更真实一些。

(译者上一些分形图,与各位共享)

Python语言的算法 在本文中,我们系统地探讨了Python语言中的算法,从算法的基本概念到具体的实现,涵盖了多种常见的算法类型与应用。了解和掌握这些算法不仅有助于提高我们的编程能力,也为我们解决实际问题提供了强有力的工具。希望读者在以后的学习和工作中,能够灵活运用算法的思想和技巧,不断提高自己的技术水平。 阅读详情

相关推荐

Python排序算法动画可视化教学工具

排序算法是数据结构与算法课程的核心基础概念,其执行过程具有强状态演化特性,传统伪代码难以呈现动态逻辑流。基于生成器(yield)与matplotlib.animation.FuncAnimation的可视化实现,可将冒泡、归并、快排等算法每一步比较、交换、递归分割等操作实时映射为条形图高度变化与颜色状态流转,既符合算法‘逐步生成有序序列’的本质原理,又显著提升初学者的直觉理解效率。该方案技术门槛低、可调试性强,适用于编程入门、课堂教学演示及面试复习等典型工程教育场景,是Python可视化与算法教学深度融合的

hideto 412

使用Python turtle画图时,画完图形窗口一下子消失,退出窗口的几个解决方法

使用Python turtle画图时,画完图形窗口一下子退出消失怎么办,如何能够停留在画完的窗口呢?退出窗口的几个解决方法 程序退出画图界面的原因,本质上来说就是程序执行完成了,程序自然会退出。只要我们能够想办法让程序在画完图片后,不退出就好了。turtle提供了几个可以让窗口一直保持着的方法: 1.第一种方法:在程序的最后面加上:turtle.exitonclick() 该语句让程序...

跬步Python股票数据量化分析 5万+

递归图 时间序列重构小波变换_递归图matlab_reconstitution_recurrenceplots_小波变换_递归图

递归图(reecurrence plots),从相空间重构时间序列的matlab程序,

Python数据结构(四)——递归

递归 递归是一种解决问题的方法,将问题分解为更小的子问题,直到得到一个足够小的问题可以被很简单的解决。通常递归涉及函数调用自身。递归允许我们编写优雅的解决方案,解决可能很难编程的问题。 计算整数列表和 # version1 def list_sum(num_list): num_sum = 0 for i in num_list: num_sum +...

ds19991999的博客 1427

利用Matlab实现矩形波导电磁场分布图的绘制

1.利用Matlab实现矩形波导电磁场分布图的绘制;2.学会使用 Matlab 进行数值计算,并绘出相应的图形;通过Matlab 计算并绘出任意时刻金属矩形波导的主模 TE10 模的电磁场分布图。波导尺寸、工作频率及时刻均由外部给定。(1)矩形波导中传输的主模为TE10模。设金属波导尺寸为a*b,TE10模的截止波长为2*a。其电磁场分量可推导表示如下:.......1-1上式中各参量如下:......1-2。

qq_26335381的博客 3058

PyTorch实战:A2C算法在Pendulum环境中的调参技巧与收敛优化

本文详细介绍了使用PyTorch实现A2C算法在Pendulum环境中的调参技巧与收敛优化方法。通过分析Pendulum环境特性、设计高效的网络架构、优化超参数设置以及提升训练稳定性,帮助开发者掌握强化学习中的policy-based方法。文章特别强调了奖励工程、优势估计改进和梯度裁剪等关键优化策略,为连续控制任务提供了实用解决方案。

rum55的博客 213

Python 基础语法-turtle篇

Python 基础语法-turtle篇今天这节课主要讲了类的概念,并引出turtle中的函数和Turtle类。 -创建一个Turtle类:brad=turtle.Turtle() -定义Turtle的属性。brad.shape(‘arrow’).’arrow’指的是乌龟的形状。brad.color(‘yellow’)-颜色;brad.shape(10)-速度。Python文档里说10是比较快的速

shiyueyue0822的博客 4262

【SWPUCTF 2021 新生赛】hardrce

对每个字符的ASCII值进行按位取反操作(这种要进行自增马进行绕过。

XiaoHei的博客 460

Python学习笔记(一):最基本的HelloWorld

1、Python和Java、c++等语言并没有太大的区别,对于刚接触这门语言的我来说,远没有接触prolog等语言这样的差异。唯一的不同,仅仅是和javascript类似。 2、基本环境配置,无,基本直接安装就可以使用了,Java好歹需要配置环境变量 3、入门的HelloWorld (1)下面的代码是画一个五角星 import turtle window=turtle.Screen() p

当空皓月 855

HPM6E00:PWM V2使用指南

HPM6E00:PWM V2使用指南

xikangsoon的博客 1733

告别音质玄学:实测ACM8625S搭配杰理AC695x,如何通过寄存器精准调出好声音

第一次听到ACM8625S驱动音箱发出的声音时,我有些失望——这个被厂商宣传为"高保真数字功放"的芯片,默认配置下的表现甚至不如一些廉价模拟功放。经过两周的反复调试,最终配置使这款售价不到200元的音箱达到了接近专业监听设备的音质水平。特别是在鼓点和电吉他表现上,既保持了足够的冲击力,又不会掩盖人声细节。例如,当频率响应曲线在10kHz有+2dB提升时,多数评测者认为听感最佳,尽管这会使THD略微增加0.05%。虽然厂商提供的配置工具能快速生成基础代码,但想要获得最佳音效还需要手动优化。

weixin_29655587的博客 355

python编写代码运用递归画图形_python数据结构与算法 22 递归图形

上节中我们已经知道有些问题,如果用递归解决变得非常容易。但是仍然很难在大脑里形成一种模型或可视化的方法,让我们直觉地明白函数递归过程到底发生了什么。这一节我们引入几个例子,用递归的方法画几个有趣的图形,通过观察图形的生成,也许能帮助你洞察递归的过程,从而学会递归的方法。我们要用的工具是python的图形模块turtle,这个模块伴随python的全部版本而且很容易使用,语法也简单。你可以创建一个t...

weixin_39888082的博客 1009

AB脉冲详解(编码器,PLC,上位机)

编码器线有些是用不到的。Z脉冲:360度中,只有1度是输出,输出能力是。编码器实际就是发光二极管,所以电流超过20ma会缩短寿命或损坏。

cfqq1989的博客 1万+

python中递归函数的轨迹_python数据结构与算法 22 递归图形

上节中我们已经知道有些问题,如果用递归解决变得非常容易。但是仍然很难在大脑里形成一种模型或可视化的方法,让我们直觉地明白函数递归过程到底发生了什么。这一节我们引入几个例子,用递归的方法画几个有趣的图形,通过观察图形的生成,也许能帮助你洞察递归的过程,从而学会递归的方法。我们要用的工具是python的图形模块turtle,这个模块伴随python的全部版本而且很容易使用,语法也简单。你可以创建一个t...

weixin_39988888的博客 188

【XSRP软件无线电】基于软件无线电平台的QPSK频带通信系统设计(含有完整工程资料获取链接)

软件无线电(Software Defined Radio, SDR)是一种无线通信系统,它通过软件来定义和实现无线电的功能,而不是依赖于传统的硬件电路。SDR平台的核心思想是将传统无线电系统中的大部分硬件功能,如调制解调、信号处理、频率选择等,通过软件来实现。这种设计理念使得SDR具有高度的灵活性和可重配置性,能够适应不同的通信标准和频段,快速适应新的通信技术。

嵌入式技术开发 3281

PCL 法向量夹角剔除错误匹配点对【2026最新版】

实现了一种简单的基于对应点法线角度的对应关系去除方法。博客长期更新,本文最新更新时间为:2026年5月24日。

点云侠的博客 41万+

【Python】Python 100题 分类入门练习题 - 新手友好

【代码】【Python】Python 100题 分类入门练习题 - 新手友好 - 整合篇。

用最通俗的语言,讲述对技术的理解。 4862

深度学习工具包 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算法,包括排序、查找、递归、图算法和字符串处理等。掌握这些算法不仅能提升代码的效率,还能增强你的编程能力。算法的选择和实现是编程中不可或缺的一部分,理解其背后的原理将使你成为更出色的开发者。希望本文能帮助你在Python编程的旅程中更进一步!

萧鼎的博客 943

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Python 算法详解:从原理到实践

算法是计算机科学的核心,它是解决问题的步骤和方法。Python 作为一种功能强大的编程语言,提供了丰富的工具和库来实现各种算法。掌握 Python 算法不仅可以提高程序的效率,还可以培养解决问题的思维能力。

lady_mumu的博客 2086

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

python程序设计机械工业出版社课后答案-Python语言程序设计

图书简介本书以问题驱动的方式对Python程序设计进行综合介绍。全书共分三个部分,首先介绍基本程序设计技术以及数据类型、变量、常量、简单函数等内容,随后利用抽象、封装和多态性来了解面向对象程序设计,最后通过对数据结构和算法的讲解,循序渐进,掌握Python程序设计。书中引入实例解释基本概念,同时提供大量不同难度的编程题,帮助读者理解和巩固。本书可作为高等院校相关专业的基础教材,也可作为Python...

weixin_39777163的博客 2130

leetcode刷题记第22题解法(python解析)(括号生成)

leetcode刷题记--> 22题解法(python解析)题目定义解题1. 暴力解决(列表)2. 无名方法3. 使用堆栈4. 回溯法(也是递归)5. 暴力法(相比于方法一更好理解)6. 回溯法(与方法四差不多)实现 题目定义 给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。 例如,给出 n = 3,生成结果为: [ "((()))", "...

qq_42274068的博客 843

CANN ops-transformer MoeFinalizeRoutingV2Grad 算子详解:MoE 路由反向传播的 aclnn 两段式接口与 PyTorch 封装

`aclnnMoeFinalizeRoutingV2Grad` 是 CANN ops-transformer 中 MoE(Mixture-of-Experts)前向路由算子 `MoeFinalizeRoutingV2` 的反向传播算子,它根据正向产生的行索引 `expandedRowIdx` 与路由权重 `scales`,把输出梯度 `gradY` 映射回扩展特征 `expandedX` 的梯度与

gitblog_00376的博客 863

你也能看懂的python算法书,python算法详解电子版

大家好,小编来为大家解答以下问题,python编程从入门到精通pdf网盘,python编程入门经典pdf下载,今天让我们一起来看看吧!原文地址1:https://blog.csdn.net/ai_lover_cat/article/details/135768625。亲爱的朋友们,今天我们要探讨,python算法教程这本书怎么样 你也能看得懂的python算法书,一起探索吧!python手册 http://www.78tp.com/python/第 27章 项目8:使用XML-RPC共享文件401。

2401_86114608的博客 839

python练习案例100例(每天坚持一粒,按时服下)

题目1:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少? 程序分析: 可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。 思路解析: 用三个for循环嵌套输出,并用range()函数进行划定范围1到4,外加if条件语句进行判断三个数字不相等 代码解析: #!/usr/bin/python # -*- coding: UTF-8...

巴胡子 3万+

《Python 100例》练习,基于Python 3.5做了一遍

搜语法的时候无意间在这里发现了个python100题。 本着复习python的想法做了一下,过程中发现有些题不像是python的,网上一搜才知道这东西原名叫做《C语言程序设计100个经典例子》,果然好坑。 挑能做的做了一遍,有的需要思考一下;而有的题对于python而言,实现起来实在太简单了。 ------------------- 2018.2.1 补充tm016,关于datetime使...

watfe的专栏 3万+
上一篇: python数据结构与算法 21 递归的实现和应用
下一篇: python数据结构与算法 23 宾斯基三角形
杀了这个男孩
博客等级 码龄18年 149粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值