昇腾】【每天进步一点点】移植应用到Atlas 200 DK关于输入的一点问题(Python版)

网友投稿 751 2022-05-30

原因:

在将PC端成功运行的程序(基于TensorFlows框架)移植到Atlas 200 DK时,关于模型输入的问题,在PC端是做了resize 和归一化,之后送入模型,代码如下:

height, width, _ = image.shape     image_resized = cv2.resize(image, target_shape)     image_np = image_resized / 255.0  # 归一化到0~1     image_exp = np.expand_dims(image_np, axis=0)     # 送入模型推理     result = model.predict(image_exp)

阐释:

也就是说送入模型的是image_exp,在这里是一张拓展了一维的RGB图像。但在Atlas 200 DK上不是将image_exp,因为我在做模型转换时,这个部分已经在模型中做了,所以只需要将RGB三通道图像输入模型就好了。相比与上面代码大体为:

【昇腾】【每天进步一点点】移植应用到Atlas 200 DK关于输入的一点问题(Python版)

height, width, _ = image.shape     image_resized = cv2.resize(image, target_shape)     # 送入模型推理     result = model.predict(image_exp)

是不是更简洁了,因为归一化操作可以在模型转换时自行设置,就不用在代码中写了。Atlas 200 DK的AIPP可以完成常用的图像预处理,支持YUV420SP_U8(根据UV交织顺序不同,YUV420SP_U8又分为YUV420SP_UV_NV12和YUV420SP_VU_NV21,默认为YUV420SP_UV_NV12)、XRGB8888_U8、RGB888_U8、YUV400_U8等格式,能够在AI Core上完成改变图像尺寸、色域转换、图像归一化(减均值/乘系数)和剪裁(需指定剪裁起始点,剪裁出神经网络需要大小的图片)等操作(以上部分来自官方文档介绍)。是不是十分方便,在开发时只需要写很少的预处理代码就可以了,而且通过硬件处理还能提高处理速度。

昇腾 华为Atlas 200 DK AI开发者套件 Python

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:16软件1班安卓第二学期学习总结
下一篇:【已解决】phpMyAdmin中导入mysql数据库文件时出错:您可能正在上传很大的文件,请参考文档来寻找解决办法...
相关文章