megengine package

megengine.device

class megengine.device.DeviceType

基类:pybind11_builtins.pybind11_object

成员:

UNSPEC

CUDA

CPU

MULTITHREAD

MAX_DEVICE_ID

CPU = DeviceType.CPU
CUDA = DeviceType.CUDA
MAX_DEVICE_ID = DeviceType.MAX_DEVICE_ID
MULTITHREAD = DeviceType.MULTITHREAD
UNSPEC = DeviceType.UNSPEC
__eq__(self: object, arg0: object) → bool
__getstate__(self: object) → int
__hash__(self: object) → int
__init__(self: megengine.core._imperative_rt.common.DeviceType, arg0: int) → None
__int__(self: megengine.core._imperative_rt.common.DeviceType) → int
__members__ = {'CPU': DeviceType.CPU, 'CUDA': DeviceType.CUDA, 'MAX_DEVICE_ID': DeviceType.MAX_DEVICE_ID, 'MULTITHREAD': DeviceType.MULTITHREAD, 'UNSPEC': DeviceType.UNSPEC}
__ne__(self: object, arg0: object) → bool
__repr__(self: handle) → str
__setstate__(self: megengine.core._imperative_rt.common.DeviceType, arg0: int) → None
property name
megengine.device.get_default_device()[源代码]

查询默认的计算结点。

返回被 set_default_device() 设置的值。

返回类型

str

megengine.device.get_device_count(device_type)[源代码]

获取当前系统中的设备数量。

参数

device_type (str) – 设备类型,’gpu’ 和 ‘cpu’ 中的一个

返回类型

int

megengine.device.is_cuda_available()[源代码]

cuda设备是否在当前机器可用。

返回类型

bool

megengine.device.set_default_device(device='xpux')[源代码]

设置默认的计算节点。

参数

device (str) – 默认设备类型。类型可以是 ‘cpu0’,’cpu1’ 等,或 ‘gpu0’,’gpu1’ 等,用以指定要使用的特定 cpu 或 gpu。’cpux’ 和’gpux’ 也可以用于指定任意数量的 cpu 或 gpu 设备。’multithread’ 设备类型在推理时可用,它实现了操作员级别的多线程并行性。例如,’multithread4’ 将使用4个线程进行计算。默认值是 ‘xpux’,以指定任何可用的设备。当gpu和cpu都可用时,优先使用gpu。也可以通过以下方式设置环境变量`MGE_DEFAULT_DEVICE`。

megengine.device.set_prealloc_config(alignment=1, min_req=33554432, max_overhead=0, growth_factor=2.0, device_type=DeviceType.CUDA)[源代码]

对原始设备的内存分配器指定预先分配的方案。

参数
  • alignment (int) – 指定对齐的字节数。

  • min_req (int) – 最小的需要的字节数。

  • max_overhead (int) – 为满足需要的字节数花费的开销上限(单位:字节)。

  • growth_factor – 需要的大小和目前分配的大小的比值

  • device_type – 设备类别

megengine.logger

class megengine.logger.MegBrainLogFormatter(fmt=None, datefmt=None, style='%')[源代码]

基类:megengine.logger.MegEngineLogFormatter

date = '%(asctime)s[mgb] '
class megengine.logger.MegEngineLogFormatter(fmt=None, datefmt=None, style='%')[源代码]

基类:logging.Formatter

date = '%(asctime)s '
date_full = '[%(asctime)s %(lineno)d@%(filename)s:%(name)s] '
format(record)[源代码]

将指定的记录格式化为文本。

record的属性字典用作字符串格式化操作中的操作数,该操作产生返回的字符串。在格式化字典之前,需要执行几个准备步骤。使用LogRecord.getMessage()计算record的消息属性。如果格式化字符串使用时间(通过调用usesTime()来确定),则将调用formatTime()来格式化事件时间。如果存在异常信息,则使用formatException()将其格式化并附加到消息中。

log_fout = None
max_lines = inf
msg = '%(message)s'
megengine.logger.enable_debug_log()[源代码]

设置日志记录级别(logging level)以调试所有组件。

megengine.logger.get_logger(name=None, formatter=<class 'megengine.logger.MegEngineLogFormatter'>)[源代码]

按照给定名称获取megengine日志。

megengine.logger.replace_mgb_log_level(level)[源代码]

替换block中megbrain的日志级别,并在退出后恢复。

参数

level (int e.g. logging.INFO) – 新的日志级别

megengine.logger.set_log_file(fout, mode='a')[源代码]

设置日志的输出文件。

参数
  • fout (str or file-like) – 支持写操作和flush操作的文件对象,或文件名的字符串

  • mode (str) – 如果 fout 是一个字符串,则为指定打开日志文件的模式

megengine.logger.set_log_level(level, update_existing=True)[源代码]

设置默认的日志记录级别。

参数
  • level (int e.g. logging.INFO) – python的 logging 模块给出的日志记录级别

  • update_existing – 是否更新现有的日志记录

megengine.logger.set_mgb_log_level(level)[源代码]

设置megbrain的日志级别

参数

level (int e.g. logging.INFO) – 新的日志级别

返回

初始的日志级别

megengine.serialization

class megengine.serialization.dmap(map_location)[源代码]

基类:object

megengine.serialization.load(f, map_location=None, pickle_module=<module 'pickle' from '/usr/lib/python3.6/pickle.py'>)[源代码]

从文件中加载用save()保存的对象。

参数
  • f (text file object) – 文件名字符串或一个需要加载的文件对象。

  • map_location (str, dict or a function specifying the map rules) – 默认值:None

注解

map_location 定义了设备的映射。用法请参考示例。

参数

pickle_module – 默认值: pickle

注解

如果你要调用 mge.set_default_device(),请在调用 mge.load() 前完成。

例如:

megengine.serialization.save(obj, f, pickle_module=<module 'pickle' from '/usr/lib/python3.6/pickle.py'>, pickle_protocol=4)[源代码]

把对象保存成磁盘文件。

参数
  • obj (object) – 要保存的对象。只支持 modulestate_dict

  • f (text file object) – 文件名字符串或一个需要保存的文件对象。

  • pickle_module – 默认值: pickle

  • pickle_protocol – 默认值: pickle.HIGHEST_PROTOCOL

megengine.tensor

class megengine.tensor.Parameter(data, dtype=None, device=None)[源代码]

基类:megengine.tensor.Tensor

一类表示模块参数的张量。

class megengine.tensor.Tensor(data, dtype=None, device=None)[源代码]

基类:megengine.core.tensor.tensor_wrapper.TensorWrapper

__getstate__()[源代码]

__getstate__ 会在pickle序列化或深拷贝时被调用

detach()[源代码]

返回一个新的张量,它在反向梯度计算的时候会被当作常量。即,它的梯度是零。

参数

inp – 输入张量

dmap_callback = None
grad = None
property requires_grad
reset_zero()[源代码]

1.0 版后已移除.

请使用 *= 0

set_value(value)[源代码]

1.0 版后已移除.

在1.0版本后不需要重复使用一个存在的张量

to(device)[源代码]
megengine.tensor.tensor

megengine.tensor.Tensor 的别名

megengine.version