自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

冯·诺依曼

If people do not believe that mathematics is simple, it is only because they do not realize how complicated life is.

  • 博客(639)
  • 资源 (1)
  • 收藏
  • 关注

原创 博客目录与概览

从即日起,我将开始开始着手写作《深入理解机器学习》分类下的文章。《深入理解机器学习》不仅仅把目光局限机器学习算法的推导与实现,更多的会将目光聚焦于从数学、统计学以及统计学习的角度来深入理解机器学习算法,除此之外,我还会讨论各个机器学习算法局限与瓶颈,纵横向比较各种机器学习算法的优劣等。在详细介绍机器学习算法的同时,我还会通过Python和Scala给出相关项目的实战代码。所以,想深入学习机器学习的..............................

2019-08-31 10:18:26 414403 27

原创 系统学习Python——装饰器:类装饰器-[装饰器与管理器函数]

来拦截对包装的和内嵌实例对象的获取。正如我们在前面见到的,我们真正需要完成的只是把实例创建调用移入一个类的内部,而不是把实例传递一个管理器函数。基本上,类装饰器把特殊语法要求从实例创建调用迁移到了类语句自身。这对于我们前面所编写的跟踪器那样的函数装饰器也是成立的。像这样的管理器函数的方法把使用特殊语法的开销放到了调用上,而不是期待在函数和类定使用饰语法,但是它也允许我们在逐一调用的基础卜有选择地应用扩增。[1] Mark Lutz. Python学习手册[M]. 机械工业出版社, 2018.

2024-02-27 19:36:38 480

原创 系统学习Python——装饰器:类装饰器-[保持多个实例]

这里的问题是一个糟糕的状态保持一一一我们为每个类创建了一个装饰器实例,但是不是针对每个类实例,这样一来,只有最后一个实例的状态信息被保持住了。就像我们在前面处理对方法进行装饰的类错误一样,其解决方案在于放弃基于类的装饰器。令人奇怪的是,使用正确的运算符重载协议,这个例子中的装饰器函数几乎可以编写为一个类而不是一个函数。正如我们在前面见到的,这个仅针对类的替代方法像前面一样处理多个类,但是它对于一个给定的类的多个实例并不是很有效:每个实例构建调用会触发。由于同样的原因,最初的非装饰器版本正确地处理多个实例。

2024-02-27 19:24:16 498

原创 系统学习Python——装饰器:类装饰器-[跟踪对象接口:为内置类型应用类装饰器]

还要注意前面的代码装饰了一个用户定义的类,我们也可以使用装饰器包装一个像列表这样的内置类型,只要我们通过子类化来允许装饰器语法,或者手动地执行装饰一一装饰器语法要求每一。在Python3.X的类中,类实例会从类中继承这些方法中的一些,而不是继承全部的默认形式(实际上,是从。Private`装饰器中再次看到该方法的作用一一一那里我们还将学习在Python3.X中添加这样的代码所需要的方法的途径。假设我们将会产生类的多个实例,并且想要扩增类的每一个实例,装饰器通常将会在代码大小和代码可维护性上取得双赢。

2024-02-26 20:08:02 550

原创 系统学习Python——装饰器:类装饰器-[跟踪对象接口:使用类装饰器跟踪接口]

在那里,我们看到了装饰器使我们能够跟踪和计时对给定函数或方法的调用。相反,通过拦截实例创建调用,这里的类装饰器允许我们跟踪整个对象接口。也就是说,跟踪对实例的任何属性的访问。例如,从Python2.6和Python3.0起,前面的类示例可编写为一个类装饰器,能够触发被包装实例的创建,而不是把一个预产生的实例传递到包装器的构造函数中(在这里使用。后面的文章我们将看到,精心编排这一切比你预料中的要难以应付得多。的实例,而且装饰器对实例创建调用也进行了重定向。类是如何根据每次的装饰保持状态的,并由。

2024-02-26 19:29:26 386

原创 系统学习Python——装饰器:类装饰器-[跟踪对象接口:基础知识]

准确地说,它跟踪在被包装对象的类之外发出的属性访问。在被包装对象的内部访问其方法不会被捕获,并且会按照设计正常运行。这种整体接口模型和函数装饰器的行为不同,装饰器只包装一个特定的方法。类装饰器基本上可以在实例上安装一个包装器或“代理"逻辑层,以某种方式管理对其接口的访问。我们在之前的文章中介绍的管理的属性中看到过类似的例子。当获取未定义的属性名的时候,我们可以使用这个钩子来拦截控制器类中的方法调用,并将它们传递给一个嵌人的对象。类拦截了对任何被包装对象的命名属性的访问,打印出一条跟踪信息,并且使用内置数。

2024-02-22 19:56:11 690

原创 系统学习Python——装饰器:类装饰器-[单例类:编写替代方案]

语句(仅在Python3.X中可用)来改变外层作用域名称,我们在这里可以编写一个自包含程度更高的解决方案一一一下面的替代方案为每个类使用了一个外层作用域,而不是为每个类使用一个全局表入口,并实现了同样的效果。下面代码中的第二段为每次装饰使用一个实例,而不是使用一个外层作用域、函数对象或全局表。实际上,第二段代码依赖于相同的编程模式,随后我们会看到这是一个常见的装饰器类错误。在Python3.X或Python2.X(2.6及之后的)版本中,我们也可以用函数属性或类编写一个自包含的解决方案。

2024-02-22 19:46:27 909

原创 系统学习Python——装饰器:类装饰器-[单例类:基础知识]

在前面的文章中,我们已经编写了函数装饰器来管理函数调用,但是正如我们已经见到的,从Python2.6和Python3.0起装饰器已被扩展,因此也能在类上使用。如同前面所提到的,尽管类装饰器与函数装饰器在概念上很相像,但类装饰器是在类上使用的一一它们可以用于管理类自身,或者用来拦截实例创建调用以管理实例。和函数装饰器一样,类装饰器其实只是可选的语法糖,尽管很多人相信,它们使得程序员的意图更为明显并且能使不正确的调用或错失的调用最小化。这段代码实现了传统的单例编程模式,其中每个类最多只有一个实例存在。

2024-02-19 19:28:27 942

原创 系统学习Python——装饰器:函数装饰器-[添加装饰器参数:对装饰器参数计时]

需要注意的是,本文的计时器装饰器在任何函数上都有效,但是,要将其应用于类级别的方法上,需要进行细小的改写。简而言之,正如我们在前面文章《》中所介绍的,必须避免使用一个嵌套的类。由于这一变化被故意保留来作为我们本章末尾测试题的一个主题,因此在这里我们暫时不会给出完整的解答。这个为函数计时的装饰器可以用于模块中和交互式命令行下的任何函数。换言之,它作为一种多用途工具,自动获得了作为脚本中计时代码的资格。[1] Mark Lutz. Python学习手册[M]. 机械工业出版社, 2018.

2024-02-19 19:26:07 507

原创 系统学习Python——装饰器:函数装饰器-[添加装饰器参数:基础知识]

前面文章介绍的计时器装饰器有效运行,但是如果它可配置性更强的话,就会更好一一一例如提供一个输出标签并且可以打开或关闭跟踪消息,这些在一个多用途工具中可能很有用。装饰器参数在这里派上了用场:对它们适当编写后,我们可以使用它们来指定配置选项,每个被装饰的函数都可以有各自的选项。的一个实例,它记住被装饰函数自身,而且还能访问位于外围函数作用域中的装饰器参数。返回的装饰器,它既记住了装饰器参数又记住了最初的函数,并且返回一个可调用的。函数,它们的外层作用域保留的状态与具体的装饰器相关。类作为实际的装饰器。

2024-02-05 19:34:23 1366

原创 系统学习Python——装饰器:函数装饰器-[对调用计时:测试细节]

在Python3.X中也是一个迭代器,但是Python2.X和Python3.X的结果不能直接比较,除非你还将这一调用提升到计时代码的外部。,而在Python2.X中使用一个无操作函数简单地返回它的输人参数,保持其不变。这会在Python2.X中增加一个非常小的常量时间,被计时函数中的内层循环迭代所花费的时间很可能掩盖它。内置函数在Python3.X中返回一个按需求生成结果的可迭代对象,但是在Python2.X中返回一个实际的列表。最后,正如我们之前为跟踪器装饰器所做的,我们可通过在文件底部的一个。

2024-02-05 19:06:21 1101

原创 系统学习Python——装饰器:函数装饰器-[对调用计时:装饰器与每次调用计时]

另一方面,因为装饰器使用扩增逻辑掌控对函数的每一次调用,如果你想要更有选择性地扩增调用,一个非装饰器的方法也许会更好。为方便比较,我们可以使用一个非装饰器方法,可作为计时迭代的替代方案。此外,在非装饰器方案中,可能没有直接的方法来保证一个程序中的所有列表构造器调用可以通过计时器逻辑发送,在找到所有签名并潜在地修改它们方面有所不足。在这个特定的例子中,一种非装饰器的方法允许主体函数带有或不带有计时,但是当需要计时的时候,它也会使调用签名变得复杂一一一我们需要在每次调用的时候添加代码,而不是在。

2024-02-03 18:20:23 1424

原创 系统学习Python——装饰器:函数装饰器-[对调用计时:基础代码]

为了展示函数装饰器的多样化能力,让我们来看一种不同的用例。接下来的装饰器将对被装饰数的调用进行计时一一既有单次调用的用时,也有全部调用的总时间。当然了,计时时间随Python系列和测试机器而变化。这里的累计时间作为一个可用的类实例属性出现。通常,当列表推导中没有函数调用时,[1] Mark Lutz. Python学习手册[M]. 机械工业出版社, 2018.调用几乎比它慢两倍(也可以说,对函数调用的需求使其变慢)。

2024-01-30 20:29:59 1329

原创 系统学习Python——装饰器:类装饰器-[初探类装饰器和元类]

类装饰器和元类这两种方案都可以用来扩展一个类或返回一个任意的对象来替代它一一一这是一种几乎拥有无限的、基于类的定制化可能性的协议。我们后面会看到,元类也可以定义处理它们实例类的方法,而不是这些实例类的普通实例一一这是一种和类方法很相似的技术,而且可以用类装饰器代理中的方法和数据来模拟实现,或者甚至是一个返回一个元类实例的类装饰器。事实上,一个元类完全可以不必是一个类。类装饰器也可以扩展类自身,或者返回一个拦截了随后的实例创建调用的代理对象。为了获得对一个新的类对象创建或初始化的控制,一个元类通常重新定义。

2024-01-30 19:50:25 1275

原创 系统学习Python——装饰器:函数装饰器-[初探用户定义函数装饰器]

例如,通过使用带有外层作用域状态的内嵌函数,而不是带有属性的可调用类实例,函数装饰器通常能变得更加广泛地适用于类一级的方法。不过作为一个快速的示例,让我们看看一个简单的用户定义的装饰器的应用。下面的代码通过这种方式定义了一个调用代理类,在实例中储存被装饰的函数,并捕获对原来嵫数名的调用。这个装饰器对于任何接受基于位置参数的函数都有效,但是它不能处理关键字参数,而且不能装饰类一级的方法函数(简而言之,对于其。正如我们将在前面的文章中见到的,有各种各样的方式来编写函数装饰器,包括嵌套。方法方法将只传人一个。

2024-01-29 20:35:41 1226

原创 系统学习Python——装饰器:函数装饰器-[基础知识]

它们可以在装饰语法中使用,只是因为它们把一个函数当作参数并且返回一个可调用对象,而原来的函数将与该对象重新绑定。实际上,任何这样的函数都可以通过这种方式使用,也包括后面的文章将会介绍的我们自己编写的用户定义函数。因为装饰器会返回任何种类的对象,这也可以让装饰器在每次调用时都增加一层逻辑。装饰器函数可以返回原来的函数本身,或者一个新的代理对象,该代理对象用于保存传给装饰器的原来的函数,原来的函数将会在额外逻辑层执行后间接地运行。从语法上来讲,函数装饰器可以被看作是它后边跟着的函数的运行时声明。

2024-01-29 20:35:16 946

原创 系统学习Python——类(class):静态方法(staticmethod)和类方法(classmethod)-[实例:使用类方法统计每个类的实例个数]

静态方法和类方法都能扮演其他高级的角色,我们将在这里略过。在最近的Python版本中,随着函数装饰语法的出现,静态方法和类方法的指定都变得更加简单。装饰语法是把一个函数应用于另一个函数的一种方式,该语法有着比最开始的静态方法用例更广的用法。装饰语法允许我们在Python2.X和Python3.X中扩展类。例如,初始化上一个示例中。例如,需要为每个类管理实例计数器的代码,可能最好采用类方法。[1] Mark Lutz. Python学习手册[M]. 机械工业出版社, 2018.这样的计数器的数据。

2024-01-28 21:16:48 963

原创 系统学习Python——类(class):静态方法(staticmethod)和类方法(classmethod)-[实例:用类方法计数]

上一篇文章使用了静态方法对类生成的对象计数,实际上,类方法也可以实现类似的效果一一一如下代码与前面列出的静态方法版本具有相同的行为,但是它使用一个类方法来把实例的类接收到其第一位参数中。不过当使用类方法的时候,别忘了它们接收调用的主体的最具体(最底层)的类。当试图通过传入类来更新类数据的时候,这具有某些细微的隐藏含义。通过直接编写自己的类名来更新其数据可能会更好,而不是依赖于传人的类参数。子类的一个实例进行了一次类方法的调用,并且Python传人了最底层的类。如果该方法试图赋值传人的类的数据,那么它将更新。

2024-01-25 19:19:10 1319

原创 系统学习Python——类(class):静态方法(staticmethod)和类方法(classmethod)-[实例:用静态方法计数]

然而,采用静态方法可以把函数名变成类作用域内的局部名称(从而不会和模块内的其名称冲突);同时还能让子类通过继承来定制静态方法一一一这是比从父类编写的文件中导人函数更方便的一种方式。现在,有了前文的这些内置函数,如下的实例统计示例的静态方法等价形式。通过使用静态方法内置函数,我们的代码现在允许在Python2.X和Python3.X中通过类或其任何实例来调用无。直接移到类外部的做法(如前面的文章所做的)相比较,这个版本需要一个额外的。调用(或者我们在后面的文章将会看到的一行。

2024-01-25 18:47:02 1024

原创 系统学习Python——类(class):静态方法(staticmethod)和类方法(classmethod)-[使用静态方法和类方法]

此外,Python3.X也允许类中的简单函数只在通过一个类对象调用的时候充当静态方法的角色,而不需要额外的协议,从而扩展了这一模式。除了前面文章中提到的之外,目前还有另一个选择,可以编写和类相关联的、能通过类及其实例被调用的简单函数。从Python2.2起,我们可以编写带有静态方法和类方法的类,两者在调用时都不需要传人实例参数。内置方法还可以允许这样的方法在Python3.X中通过一个实例调用,而在Python2.X中同时可以通过类和实例调用(也就是说,前者在Python3.X中没有。

2024-01-24 19:28:17 1092

原创 系统学习Python——类(class):静态方法(staticmethod)和类方法(classmethod)-[静态方法备选方案]

可能更糟糕的是,由于它们位于类的命名空间之外的原因,像这样的简单函数不能通过继承定制,也就是说子类不能通过重新定义这样的一个函数来直接替代或扩展它。例如,如果我们只想要调用一个不通过实例而访问类成员的函数,可能最简单的思路就是在类之外编写一个普通函数,而不是编写类方法。像这里这样的模块中的简单函数,实现了无实例类方法的大多数工作,并且已经与类关联起来,因为它们位于同一模块中。遗憾的是,如果我们没有一个实例可用就无法使用该方法,然而如果产生一个实例来使用该方法又会改变类的数据,就像这里的最后一行。

2024-01-24 19:03:17 796

原创 系统学习Python——类(class):静态方法(staticmethod)和类方法(classmethod)-[初识Python中的静态方法]

Python2.X和Python3.X总是向一个通过实例被调用的方法中传人一个实例。相反,在Python3.X中,只有当一个方法期待实例的时候,我们才需要给它传人一个实例一一一没有一个实例参数的方法可以通过类调用而不需要传人一个实例。它的类把一个计数器存储为类属性,每次创建一个新的实例的时候,构造函数都会对计数器加1,同时有一个显示计数器值的方法。方法能在Python2.X中通过类调用,并且在Python2.X和Python3.X中都通过实例调用,我们就需要采取其他设计,或是对这样的方法进行特殊标记。

2024-01-22 20:22:30 1560

原创 系统学习Python——警告信息的控制模块warnings:上下文管理器warnings.catch_warnings

函数和内部的过滤器种类列表。这意味着上下文管理器将会修改全局状态,因此不是线程安全的。列表中每个对象的属性与 showwarning() 的参数名称相同。时,将被用于代替返回的模块,其过滤器将被保护。该参数主要是为了测试。管理器的工作方式,是替换并随后恢复模块的。函数所用对象逐步填充(该函数还会抑制。该上下文管理器会复制警告过滤器和。,则返回一个列表,列表由自定义。函数,并在退出时恢复。(默认),则在进入时会返回。参数代表一个模块,当导入。

2024-01-22 19:31:41 745

原创 系统学习Python——警告信息的控制模块warnings:常用函数-[warnings.resetwarnings]

【代码】系统学习Python——警告信息的控制模块warnings:常用函数-[warnings.resetwarnings]

2024-01-18 19:28:14 1134

原创 系统学习Python——警告信息的控制模块warnings:常用函数-[warnings.simplefilter]

相同,但不需要正则表达式,因为插入的过滤器总是匹配任何模块中的任何信息,只要类别和行号匹配即可。在警告过滤器种类列表中插入一条简单数据项。

2024-01-18 19:24:59 1239

原创 系统学习Python——警告信息的控制模块warnings:常用函数-[warnings.filterwarnings]

正则表达式,并将他们作为一个元组插入警告过滤器的列表中。如果两者都与某种警告匹配,那么靠近列表前面的数据项就会覆盖后面的项。省略的参数默认匹配任意值。在警告过滤器种类列表中插入一条数据项。默认情况下,该数据项将被插到前面;这里会检查参数的类型,编译。

2024-01-16 19:29:20 1251

原创 系统学习Python——警告信息的控制模块warnings:常用函数-[warnings.formatwarning]

以标准方式格式化一条警告信息。将返回一个字符串,可能包含内嵌的换行符,并以换行符结束。

2024-01-16 19:27:05 853

原创 系统学习Python——警告信息的控制模块warnings:常用函数-[warnings.showwarning]

将警告信息写入文件。默认的实现代码是调用。通过将任何可调用对象赋给。

2024-01-15 19:19:26 1002

原创 系统学习Python——警告信息的控制模块warnings:常用函数-[warnings.warn_explicit]

函数的底层接口,显式传入消息、类别、文件名和行号,以及可选的模块名和注册表(应为模块的。如果未传递注册表,警告就不会被抑制。模块名称默认为去除了。

2024-01-15 19:15:51 642

原创 系统学习Python——警告信息的控制模块warnings:常用函数-[warnings.warn]

常备用于引发警告、忽略或者触发异常。如果给出category参数,则必须是警告类别类;如果某条警告被 警告过滤器 改成了错误,本函数将触发一条异常。可供Python包装函数使用,比如下列会让警告指向。本身的来源(因为后者会破坏警告消息的目的)。在这种情况下,错误信息文本将是。这将使得警告同时指向。

2024-01-14 23:13:19 825

原创 系统学习Python——警告信息的控制模块warnings:为新版本的依赖关系更新代码

这样可以启用对所有警告的默认处理操作,包括那些默认忽略的警告。),这意味着开发人员应该确保在测试代码时应将通常忽略的警告显示出来,以便未来破坏性API变化时及时收到通知(无论是在标准库还是第三方包)。在默认情况下,主要针对Python开发者(而不是Python应用程序的最终用户)的警告类别,会被忽略。理想情况下,代码会有一个合适的测试套件,在运行测试时会隐含地启用所有警告(由。在不太理想的情况下,可以通过向Python解释器传入。值得注意的是,这个“默认忽略”的列表包含。模块提供的测试运行程序就是如此)。

2024-01-14 23:05:55 865

原创 系统学习Python——警告信息的控制模块warnings:测试警告

当测试多项操作会引发同类警告时,重点是要确保每次操作都会触发新的警告(比如,将警告设置为异常并检查操作是否触发异常,检查每次操作后警告列表的长度是否有增加,否则就在每次新操作前将以前的警告列表项删除)。一旦上下文管理器退出,警告过滤器将恢复到刚进此上下文时的状态。这样在多次测试时可防止意外改变警告过滤器,从而导致不确定的测试结果。有了它,就可以临时改变警告过滤器以方便测试。规则而被引发,那么无论设置什么过滤器,该条警告都不会再出现,除非该警告有关的注册数据被清除。,让所有的警告都成为异常。

2024-01-11 20:18:18 1120

原创 系统学习Python——警告信息的控制模块warnings:暂时禁止警告

在上下文管理器中,所有的警告将被简单地忽略。这样就能使用已知的过时代码而又不必看到警告,同时也不会限制警告其他可能不知过时的代码。注意:只能保证在单线程应用程序中生效。如果两个以上的线程同时使用。如果明知正在使用会引起警告的代码,比如某个废弃函数,但不想看到警告(即便警告已经通过命令行作了显式配置),那么可以使用。[1] Mark Lutz. Python学习手册[M]. 机械工业出版社, 2018.上下文管理器,行为不可预知。

2024-01-11 20:15:09 923

原创 系统学习Python——警告信息的控制模块warnings:警告过滤器-[重写默认的过滤器]

Python应用程序的开发人员可能希望在默认情况下向用户隐藏所有Python级别的警告,而只在运行测试或其他调试时显示这些警告。用于向解释器传递过滤器配置的。以外的命名空间运行用户代码的交互式开发者,请确保。在默认情况下是可见的,可采用如下代码(这里。

2024-01-09 20:26:50 863

原创 系统学习Python——警告信息的控制模块warnings:警告过滤器-[默认警告过滤器]

Python默认安装了几个警告过滤器,可以通过。在调试版本中,默认警告过滤器的列表是空的。

2024-01-09 20:22:58 701

原创 系统学习Python——警告信息的控制模块warnings:警告过滤器-[警告过滤器的执行过程]

,过滤器间用逗号隔开,后面的优先于前面的(因为是从左到右应用的,最近应用的过滤器优先于前面的)。常用的警告过滤器适用于所有的警告、特定类别的警告、由特定模块和包引发的警告。模块在第一次导入时会解析这些参数(无效的选项被忽略,并会先向。警告过滤器由传给Python解释器的命令行。当一行中列出多个过滤器时(如。中保存了所有给出的参数,但不作解释;这些字段的含义在文章《

2024-01-08 20:23:19 891

原创 系统学习Python——警告信息的控制模块warnings:警告过滤器-[基础知识]

从概念上讲,警告过滤器维护着一个经过排序的过滤器类别列表;任何具体的警告都会依次与列表中的每种过滤器进行匹配,直到找到一个匹配项;过滤器决定了匹配项的处理方式。警告过滤器控制着警告是否被忽略、显示或转为错误(触发异常)。派生出来的,要把某个警告变成错误,只要触发。default`动作。

2024-01-08 20:17:07 1185

原创 系统学习Python——警告信息的控制模块warnings:警告类别

虽然在技术上警告类别属于内置异常,但也只是在此记录一下而已,因为在概念上他们属于警告机制的一部分。通过对某个标准的警告类别进行派生,用户代码可以定义其他的警告类别。是根据某个功能是否完全删除或改变其行为来区分的。现在是根据受众和默认警告过滤器的处理方式来区分的。警告的类别由一些内置的异常表示。这种分类有助于对警告信息进行分组过滤。在Python3.7版以前,

2024-01-07 19:55:13 698

原创 系统学习Python——警告信息的控制模块warnings:基础知识

警告的处理方式可以依据警告类型 、警告信息的文本和发出警告的源位置而进行变化。通常以下情况会引发警告:提醒用户注意程序中的某些情况,而这些情况通常还不值得触发异常并终止程序。例如,当程序用到了某个过时的模块时,就可能需要发出一条警告。控制警告信息有两个阶段:首先,每次引发警告时,决定信息是否要发出;然后,如果要发出信息,就用可由用户设置的钩子进行格式化并打印输出。警告过滤器控制着是否发出警告信息,也即一系列的匹配规则和动作。进行格式化,自己编写的代码也可以调用此格式化函数。警告信息的打印输出是通过调用。

2024-01-07 19:38:42 1031

原创 系统学习Python——类(class):静态方法(staticmethod)和类方法(classmethod)-[使用静态方法和类方法的原因]

然而,要更好地把这样的代码与一个类联系起来,并且允许这样的过程像往常一样用继承来定制,在类自身之中编写这类函数将会更好。比如要记录由一个类创建的实例的数目,或者维护当前内存中一个类的所有实例的列表。这种形式的信息以及相应的处理与类相关,而非与其实例相关。正如我们已经学习过的,类方法通常在其第一位参数中传人当前实例对象,以充当方法调用的一个隐式主体一一这也就是“面向对象编程”中的“对象”。类方法是类的一种方法,传人给它们的第一位参数是一个类对象而不是一个实例对象,不管是通过一个实例或一个类调用它们。

2024-01-06 22:33:35 828

思维导图源文件《预训练模型总览》

该文件为《预训练模型总览》思维导图源文件,可自行编辑并输出相应图片或自行学习保存使用,详细内容可以参考:文章《自然语言处理从入门到应用——预训练模型总览》,文章链接:https://machinelearning.blog.csdn.net/article/details/131404053 从大量无标注数据中进行预训练使许多自然语言处理任务获得显著的性能提升。总的来看,预训练模型的优势包括: - 在庞大的无标注数据上进行预训练可以获取更通用的语言表示,并有利于下游任务 - 为模型提供了一个更好的初始化参数,在目标任务上具备更好的泛化性能、并加速收敛 - 是一种有效的正则化手段,避免在小数据集上过拟合,而一个随机初始化的深层模型容易对小数据集过拟合 该思维导图源文件就是各种预训练模型的思维导图,其分别按照词嵌入(Word Embedding)方式分为静态词向量(Static Word Embedding)和动态词向量(Dynamic Word Embedding)方式分类、按照监督学习和自监督学习方式进行分类、按照拓展能力等分类方式展现,用户可以自行编辑修改。

2023-06-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除