我目前正在制作一个Django应用,该应用可以接收包含字节数组的POST请求,该字节数组在给定宽度和高度的情况下会变成2d numpy数组。
我们正在使用Django Rest Framework。
在Stackoverflow上发布时,我已经更改了类的名称,所有内容都可以编译并正常运行,这是一个计时问题。
使用计时器测量时,通常需要0.02s的时间来解析传入的请求。
class APIViewEndPoint(APIView):
def post(self, request):
params = json.loads(request.body.decode('utf-8'))
array = params.get("array")
height = params.get("height")
width = params.get("width")
image = np.array(array, dtype=np.uint8).reshape(height, width)
这是序列化程序,它是处理传入请求的更好的模式。
class PostRequestSerializer(serializers.Serializer):
width = serializers.IntegerField(required=True)
height = serializers.IntegerField(required=True)
array = serializers.ListField(required=True)
现在,我们使用串行器,使用计时器进行测量时,时间为0.8s。
class APIViewEndPoint(APIView):
def post(self, request):
params = json.loads(request.body.decode('utf-8'))
serializer = PostRequestSerializer(data=params)
if(serializer.is_valid()):
data = serializer.data
image = np.array(data["array"], dtype=np.uint8).reshape((data["height"], data["width"]))
是否有更快的方法来在Django中序列化数组?理想情况下,如果序列化程序还可以处理传入数组的重塑,那就太好了。
对此有什么想法吗?