torch.__future__的源代码
_overwrite_module_params_on_conversion:
布尔值 =
假
_swap_module_params_on_conversion: 布尔值 =
假
[文档]定义 set_overwrite_module_params_on_conversion(value: bool) -> None:
"""
设置在将 ``nn.Module`` 转换时,是否将新张量分配给参数而不是就地更改现有参数。
启用后,以下方法将分配新参数给模块:
当启用时,以下方法将分配新参数给模块:
#. ``module.{device}()``(例如::meth:`nn.Module.cuda()`)用于在不同设备间移动模块
#. ``module.{dtype}()``(例如::meth:`nn.Module.float()`)用于将模块转换为不同的数据类型
#. :meth:`nn.Module.to`
#. :meth:`nn.Module.to_empty`
Args:
value (bool): 是否分配新的张量。
"""
global _overwrite_module_params_on_conversion
_在转换时覆盖模块参数 = value
[文档]def get_overwrite_module_params_on_conversion() -> bool:
"""
返回是否将新张量分配给参数而不是更改
在转换 :class:`torch.nn.Module` 时保留现有参数。默认为 ``False``。
更多信息请参阅 :func:`~torch.__future__.set_overwrite_module_params_on_conversion`。
"""
返回 _overwrite_module_params_on_conversion
[文档]def set_swap_module_params_on_conversion(value: bool) -> None:
```python
# 假设输入文本为:
input_text = '"""'
# 翻译函数(此处仅为示例,实际翻译功能需要调用真实的翻译 API)
def translate_to_simplified_chinese(text):
# 这里应该调用真实的翻译 API 进行翻译
# 由于示例中不使用真实的 API,以下为模拟翻译结果
return text
# 输出翻译结果
translated_text = translate_to_simplified_chinese(input_text)
print(translated_text)
```
设置是否使用 :func:`~torch.utils.swap_tensors` 而不是设置 ``.data`` 到
就地更改在转换 `nn.Module` 时的现有参数
在将状态字典加载到 `nn.Module` 时,使用 `param.copy_(state_dict[key])`。
.. 注意::
此函数优先于 `:func:`~torch.__future__.get_overwrite_module_params_on_conversion`。
启用后,以下方法将就地交换现有参数:
#. ``module.{device}()``(例如::meth:`nn.Module.cuda()`)用于在不同设备间移动模块
#. ``module.{dtype}()``(例如::meth:`nn.Module.float()`)用于将模块转换为不同的数据类型
#. :meth:`nn.Module.to`
#. :meth:`nn.Module.to_empty`
#. :meth:`nn.Module.load_state_dict`
语义如下:当设置此选项时,:meth:`~nn.Module.load_state_dict` 的语义为:
#. 对于每个参数/缓冲区,其对应的 `state_dict['key']` 被转换为
`:meth:`~torch.Tensor.module_load`(即 `res = param.module_load(state_dict['key'])`)
如果需要,``res`` 将被包裹在 :class:`~nn.Parameter`
模块中的参数/缓冲区将通过 :func:`~torch.utils.swap_tensors` 进行交换
使用 ``res``
Args:
value (bool): 是否使用 :func:`~torch.utils.swap_tensors` 或不使用。
"""
global _swap_module_params_on_conversion
_swap_module_params_on_conversion = value
[文档]def get_swap_module_params_on_conversion() -> bool:
```python
# 假设输入文本为:
input_text = '"""'
# 翻译函数(此处仅为示例,实际翻译功能需要调用真实的翻译 API)
def translate_to_simplified_chinese(text):
# 这里应该调用真实的翻译 API 进行翻译
# 由于示例中不使用真实的 API,以下为模拟翻译结果
return text
# 输出翻译结果
translated_text = translate_to_simplified_chinese(input_text)
print(translated_text)
```
返回是否使用 :func:`~torch.utils.swap_tensors` 而不是设置 .data 为
就地更改在转换 ``nn.Module`` 时的现有参数。默认为 ``False``。
查看更多信息,请参阅::func:`~torch.__future__.set_swap_module_params_on_conversion`。
"""
返回 _swap_module_params_on_conversion