参数#

class astropy.modeling.Parameter(name='', description='', default=None, unit=None, getter=None, setter=None, fixed=False, tied=False, min=None, max=None, bounds=None, prior=None, posterior=None, mag=False)[源代码]#

基类:object

包装单个参数。

自4.0以来,参数不再是描述符,而是基于Parameter类的新实现。参数现在(从4.0开始)在本地存储值(与以前在关联模型中相同)

这个类表示模型的参数(在某种程度上是广义的)。它有多种用途:

1) 模型识别的类型,在类初始化时特别处理(即,如果发现参数有类定义,则模型初始值设定项在实例级别复制)。

2)管理允许参数值的处理,一旦定义,确保更新与参数定义一致。这包括可选地使用单位和数量,以及将值转换为内部一致的表示(例如,通过使用getter和setter从度到弧度)。

3) 保存与拟合相关的参数的属性,例如参数是否可以在拟合中变化,或者是否存在必须满足的约束。

看见 参数 了解更多详细信息。

参数:
name : strPython :字符串

参数名称

警告

事实是 Parameter 接受 name 因为参数是实现细节,不应直接使用。当定义一个新的 Model 类,参数名总是由它们被分配给的类属性自动定义。

description : strPython :字符串

参数说明

default : floatarrayPython:浮点或数组

用于此参数的默认值

unitUnit单位

如果指定,则参数将以这些单位表示,以后更新参数时,应将其设置为 Quantity 有相等的单位。

getter : callable()None ,可选Python:Callable()或None,可选

通过参数代理返回值时包装参数的原始(内部)值的函数(例如,参数可以在内部存储为弧度,但返回给用户为度)。内部值是用于计算的值,而代理值是用户将进行交互(传递和查看)的值。如果 getter 不是 None ,然后是一个 setter 也必须是输入的。

setter : callable()None ,可选Python:Callable()或None,可选

包装分配给此参数的任何值的函数;应该是 getter 。如果 setter 不是 None ,然后是一个 getter 也必须是输入的。

fixed : bool布尔

如果为真,则参数在拟合过程中不会改变

tied : callable()FalsePYTHON:Callable()或PYTHON:FALSE

提供给某个函数的另一个可调用的参数(如果它是另一个参数的调用方式)

min : floatPython :浮点

参数的下界

max : floatPython :浮点

参数的上限

bounds : tuplePython :元组

将min和max指定为单个元组——边界不能与min或max同时指定

mag : bool布尔

指定参数的单位是否可以是震级单位

属性摘要

bounds 

元组形式的参数的最小值和最大值。

constraints 

约束类型可以有参数。

default 

参数缺省值。

fixed 

布尔值,指示参数在拟合期间是否保持不变。

input_unit 

输入值的单位。

internal_unit 

返回参数用于存储的内部值的内部单位。

max 

在拟合参数时用作上限的值。

min 

在拟合参数时用作下限的值。

model 

返回此参数关联的模型。

name 

参数名称。

posterior 

prior 

quantity 

这个参数,作为 Quantity 实例。

shape 

此参数的值数组的形状。

size 

此参数的值数组的大小。

std 

标准偏差,如适用。

tied 

指示此参数链接到另一个参数。

unit 

附加到此参数的单位(如果有)。

validator 

用作修饰符来设置 Parameter .

value 

此参数代理的未修饰的值。

方法总结

copy([name, description, default, unit, ...])

复制这个 Parameter ,重写进程中的任何核心属性(或完全相同的副本)。

validate \(值)

对此参数运行验证器。

属性文档

bounds#

元组形式的参数的最小值和最大值。

constraints = ('fixed', 'tied', 'bounds')#

参数可以具有的约束类型。排除'min'和'max',它们只是'bounds'约束的第一个和第二个元素的别名(用2元组表示)。'previor'和'posternal'可供用户装配工使用,但自本文撰写之日起,任何内置装配工均未使用。

default#

参数缺省值。

fixed#

布尔值,指示参数在拟合期间是否保持不变。

input_unit#

输入值的单位。

internal_unit#

返回参数用于存储的内部值的内部单位。

max#

在拟合参数时用作上限的值。

min#

在拟合参数时用作下限的值。

model#

返回此参数关联的模型。

name#

参数名称。

posterior#
prior#
quantity#

这个参数,作为 Quantity 实例。

shape#

此参数的值数组的形状。

size#

此参数的值数组的大小。

std#

标准偏差,如适用。

tied#

指示此参数链接到另一个参数。

提供两个参数之间关系的可调用函数。

unit#

附加到此参数的单位(如果有)。

对于未绑定参数(即通过模型类而不是模型实例访问的参数),这是参数的必需/默认单位。

validator#

用作修饰符来设置 Parameter . validator方法验证为该参数设置的任何值。它有两个参数--“self”,它表示 Model 实例(请记住,这是在 Model ),以及为此参数设置的值。验证程序方法的返回值被忽略,但是如果参数上设置的值无效(通常是 InputParameterError 应提出,尽管目前这不是一项要求)。

注意:使用此方法作为修饰器会导致模型酸洗时出现问题。另一种方法是将实际的验证器函数分配给 Parameter._validator (请参见建模中的示例)。

value#

此参数代理的未修饰的值。

方法文件

copy(name=None, description=None, default=None, unit=None, getter=None, setter=None, fixed=False, tied=False, min=None, max=None, bounds=None, prior=None, posterior=None)[源代码]#

复制这个 Parameter ,重写进程中的任何核心属性(或完全相同的副本)。

此方法的参数与 Parameter 初始值设定项。这只是返回一个新的 Parameter 实例,其中任何或所有属性都被重写,因此返回等效值:

Parameter(self.name, self.description, ...)
validate(value)[源代码]#

对此参数运行验证器。