STM32CubeMX AI 评估TensorFlow手写字例程
STM32CubeMX AI:这篇文章足够详细了,我只参考了cubemx的使用方法。
https://blog.csdn.net/bigmaxPP/article/details/104500092
算法,直接用的TensorFlow官方入门教程:手写字 就可以
官网打不开,国内的相关blog多如牛毛:
https://blog.csdn.net/weixin_43272781/article/details/110293351
https://blog.csdn.net/dusin/article/details/108544965
保存为了h5,STM32CubeMX 用的时候也没压缩,空间足够
model.save("tf-helloworld.h5")
本文只说一下怎么输入图片数据:
stm32里面就是直接输入一个数组,一维数组。这段程序就可以打印一个数组了
#导入工具包 import tensorflow as tf import pandas as pd import numpy as np from ctypes import * import numpy def print2DArray(ary): for i in range(len(ary)): for j in range(len(ary[i])): print("%f, " % ary[i][j]) return mnist = tf.keras.datasets.mnist (x_train, y_train),(x_test, y_test) = mnist.load_data() x_train, x_test = x_train / 255.0, x_test / 255.0 # print(x_test[0]) print(type(x_test[0][0][0]))
最后输入c图片文件可以像这样:
AI_ALIGNED(4) ai_float data_in_1[AI_NETWORK_IN_1_SIZE] = { 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0.14901961,0.99607843 ,0.42745098,0,0,0,0,0, 0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0.34117647,0.98823529 ,0.32156863,0,0,0,0,0, 0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0.52941176,0.94509804, 0,0,0,0,0,0, 0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0.17647059,0.95686275,0.58823529, 0,0,0,0,0,0, 0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0.32941176,0.99607843,0.24705882, 0,0,0,0,0,0, 0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0.79215686,0.8745098,0.04313725, 0,0,0,0,0,0, 0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0.1254902,0.99607843,0.84705882,0, 0,0,0,0,0,0, 0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0.37254902,0.99607843,0.76470588,0, 0,0,0,0,0,0, 0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0.54901961,0.99607843,0.30196078,0, 0,0,0,0,0,0, 0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0.22352941,0.92941176,0.80392157,0.03137255,0, 0,0,0,0,0,0, 0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0.48627451,1,0.64705882,0,0, 0,0,0,0,0,0, 0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0.67058824,0.99607843,0.31764706,0,0, 0,0,0,0,0,0, 0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0.09411765,0.90980392,0.84313725,0,0,0, 0,0,0,0,0,0, 0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0.47058824,0.99607843,0.62352941,0,0,0, 0,0,0,0,0,0, 0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0.59215686,0.99607843,0.55686275,0,0,0, 0,0,0,0,0,0, 0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0.89411765,0.99607843,0.25882353,0,0,0, 0,0,0,0,0,0, 0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0.23921569, 0.98431373,0.99607843,0.25882353,0,0,0, 0,0,0,0,0,0, 0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0.55294118 ,0.99607843,0.80392157,0.01176471,0,0,0, 0,0,0,0,0,0, 0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0.03921569,0.84313725 ,0.99607843,0.4745098,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0.01960784,0.77647059 ,0.69019608,0.03921569,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0,0,0, 0,0,0,0, };