Web3.0通过将信息交互从屏幕转移到物理空间,改变了终端用户体验,因而也有称Web3.0为“空间网络(Spatial Web)”。该“空间网络”包括空间交互层(利用智能眼镜或语音等实现实时信息交互)、数字信息层(借助传感和数字映射为每一个对象创建数字孪生)和物理层(通过感观了解和体验的世界)。
Web3的核心创新之一是基于区块链技术带来的分布式共识,其愿景是把共识数字化、编码化、去信任中介化,这意味着用户可以与陌生人达成有约束力的协议,而不需要依赖任何中介或中心化机构,加密货币是这种技术的初步应用,而Web3的愿景在于用同样的技术基础来变革其他形式的人类互动。
VR/AR是空间网络的主要网关,AI/ML促进与机器或设备的交互,5G/6G等新一代网络通信技术和边缘计算是优化交互体验的使能技术,区块链促进实现真正开放民主的生态系统。
def image_preprocess(image_names,image_name_suffix):
input_data=[]
labels=[]
for image_name in image_names:
label=get_image_label(image_name,image_name_suffix)
labels.append(label)
img=cv2.imread(image_name,cv2.IMREAD_GRAYSCALE)
img=cv2.resize(img,(32,32))
#MNIST图像背景为黑色,而测试图像的背景色为白色,识别前需要做转换
img=cv2.bitwise_not(img)
norm_img=cv2.normalize(img,None,alpha=0,beta=1,norm_type=cv2.NORM_MINMAX,dtype=cv2.CV_32F)
norm_img=norm_img.reshape(1,1,32,32).astype('float32')
#print(f"img type:{type(norm_img)},shape:{norm_img.shape}")
input_data.append(norm_img)
return input_data,labels
def softmax(x):
x=x.reshape(-1)
e_x=np.exp(x-np.max(x))
return e_x/e_x.sum(axis=0)
def postprocess(result):
return softmax(np.array(result)).tolist()
def inference(model_name,image_names,input_data,labels):
session=onnxruntime.InferenceSession(model_name,None)
#get the name of the first input of the model
input_name=session.get_inputs()[0].name
count=0
for data in input_data:
raw_result=session.run([],{input_name:data})
res=postprocess(raw_result)
idx=np.argmax(res)
image_name=image_namescount.rfind("/")+1:]
print(f"image name:{image_name},actual value:{labels[count]},predict value:{idx},percentage:{round(res[idx]*100,4)}%")