NumPy 与 PyTorch 在数据格式上的互转与二进制存储
当我们对模型做低比特量化的时候,总是不可避免地需要将奇奇怪怪的浮点数格式或者整数格式 dump 为二进制文件,方便 C/C++/CUDA 进行读取.PyTorch 可以方便地进行计算,而 NumPy 可以方便地写入二进制进行存储——但很可惜,对于 PyTorch 的一些数据格式,NumPy 是不支持的,所以需要用奇奇怪怪的方法绕过……
当我们对模型做低比特量化的时候,总是不可避免地需要将奇奇怪怪的浮点数格式或者整数格式 dump 为二进制文件,方便 C/C++/CUDA 进行读取.PyTorch 可以方便地进行计算,而 NumPy 可以方便地写入二进制进行存储——但很可惜,对于 PyTorch 的一些数据格式,NumPy 是不支持的,所以需要用奇奇怪怪的方法绕过……
Python Decorator(装饰器)可以很灵活地达成多种目的
在做 LLAISys 项目作业的时候,需要用 C++ 或者 CUDA 作为模型推理的后端进行提速,而 Python 基本只做一些数据处理工作以及显式调用 C++ 后端暴露出来的 API.所以需要在 Python 里与 C++ 进行联合开发。故写一个 blog 简单做个记录。