megengine

import megengine as mge  # NOT as torch - Even if we look like twins.

注解

MGEmgeMegEngine 的官方缩写,我们建议相关衍生库将其作为前缀。

警告

不要尝试 [ import megengine as torch ] 这是行不通的! ( /ω\)

  • MegEngine 的部分 API 设计借鉴了 PyTorch, 我们相信这对开发者而言会更加友好;

  • 但二者的底层设计完全不同,MegEngine is just MegEngine.

Tensor

from megengine import Tensor
from megengine import tensor  # tensor is an alias of Tensor

MegEngine 中提供了一种名为 “张量” (Tensor )的数据结构, 区别于物理学中的定义,其概念与 NumPy 中的 ndarray 更加相似, 即张量是一类多维数组,其中每个元素的数据类型和空间大小一致,而数据值可以不同。

Tensor

一个张量对象表示固定大小元素的多维同构数组。

Parameter

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

上面 Parameter 可以被看作是一种特殊的 Tensor, 通常用来表示神经网络中的参数。

想要了解更多,请参考 深入理解 Tensor 数据结构

Serialization

save

把对象保存成磁盘文件。

load

从文件中加载一个用:func:`~.megengine.save`保存的对象。

Device

device.what_is_xpu

返回确切的设备类型,比如 cpu, cuda 等。

is_cuda_available

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

is_atlas_available

返回这个系统中是否有可用的 atlas 设备。

is_cambricon_available

返回这个系统中是否有可用的 cambricon 设备。

is_rocm_available

返回这个系统中是否有可用的 rocm 设备。

get_device_count

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

get_default_device

查询默认的计算结点。

set_default_device

设置默认的计算节点。

get_mem_status_bytes

以字节为单位获取计算设备上的总内存和可用内存。

py:obj:get_cuda_device_property <megengine.get_cuda_device_property>

get_cuda_compute_capability

获取指定设备的计算能力。

get_allocated_memory

返回指定的计算设备上tensor占用的内存总量,单位是byte。

get_reserved_memory

以字节为单位返回当前由计算设备中的缓存分配器管理的内存

get_max_reserved_memory

返回当前计算设备上分配器管理的内存容量的峰值,单位是byte。

get_max_allocated_memory

返回指定计算设备上所有tensor的内存占用的峰值,单位是byte。

reset_max_memory_stats

重置内存使用信息

set_prealloc_config

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

coalesce_free_memory

这个函数会尽量将所有连续的空闲块释放回操作系统,小块可能不会被返回。

get_cuda_version

获取编译 MegEngine 时使用的 CUDA 版本。

get_cudnn_version

获取编译 MegEngine 时用到的 Cudnn 版本

get_tensorrt_version

获取编译 MegEngine 时用到的 TensorRT 的版本

Logger

enable_debug_log

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

get_logger

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

set_log_file

设置日志的输出文件。

set_log_level

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

Version

__version__ (MegEngine 版本号)