megenginelite.struct 源代码

# -*- coding: utf-8 -*-
# MegEngine is Licensed under the Apache License, Version 2.0 (the "License")
#
# Copyright (c) 2014-2021 Megvii Inc. All rights reserved.
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT ARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

import logging
from ctypes import *
from enum import Enum, IntEnum


[文档]class LiteBackend(IntEnum): LITE_DEFAULT = 0
[文档]class LiteDeviceType(IntEnum): LITE_CPU = 0 LITE_CUDA = 1 LITE_ATLAS = 3 LITE_NPU = 4 LITE_CAMBRICON = 5 LITE_DEVICE_DEFAULT = 7
[文档]class LiteDataType(IntEnum): LITE_FLOAT = 0 LITE_HALF = 1 LITE_INT = 2 LITE_INT16 = 3 LITE_INT8 = 4 LITE_UINT8 = 5 LITE_UINT16 = 6
[文档]class LiteTensorPhase(IntEnum): LITE_IO = 0 LITE_INPUT = 1 LITE_OUTPUT = 2
[文档]class LiteIOType(IntEnum): """ the input and output type, include SHAPE and VALUE sometimes user only need the shape of the output tensor """ LITE_IO_VALUE = 0 LITE_IO_SHAPE = 1
[文档]class LiteAlgoSelectStrategy(IntEnum): """ operation algorithm seletion strategy type, some operations have multi algorithms, different algorithm has different attribute, according to the strategy, the best algorithm will be selected. Note: These strategies can be combined LITE_ALGO_HEURISTIC | LITE_ALGO_PROFILE means: if profile cache not valid, use heuristic instead LITE_ALGO_HEURISTIC | LITE_ALGO_REPRODUCIBLE means: heuristic choice the reproducible algo LITE_ALGO_PROFILE | LITE_ALGO_REPRODUCIBLE means: profile the best algorithm from the reproducible algorithms set LITE_ALGO_PROFILE | LITE_ALGO_OPTIMIZED means: profile the best algorithm form the optimzed algorithms, thus profile will process fast LITE_ALGO_PROFILE | LITE_ALGO_OPTIMIZED | LITE_ALGO_REPRODUCIBLE means: profile the best algorithm form the optimzed and reproducible algorithms """ LITE_ALGO_HEURISTIC = 1 LITE_ALGO_PROFILE = 2 LITE_ALGO_REPRODUCIBLE = 4 LITE_ALGO_OPTIMIZED = 8
[文档]class LiteLogLevel(IntEnum): """ DEBUG: The most verbose level, printing debugging info INFO: The default level WARN: Printing warnings ERROR: The least verbose level, printing errors only """ DEBUG = 0 INFO = 1 WARN = 2 ERROR = 3