当前位置: 首页 > wzjs >正文

制作网站网站建网站软件工具

制作网站网站,建网站软件工具,做网站建设公司赚钱,凡科用模板做网站鱼书提供的代码可以在github找到。源码地址 环境配置部分可以看前面几篇博客,还是用Anaconda,运行下面代码,可以看哪个库缺失。 import importlib import numpy as np deps {"torch": "torch","torchvision"…

鱼书提供的代码可以在github找到。源码地址

环境配置部分可以看前面几篇博客,还是用Anaconda,运行下面代码,可以看哪个库缺失。

import importlib
import numpy as np
deps = {"torch": "torch","torchvision": "torchvision","timm": "timm","scipy": "scipy","matplotlib": "matplotlib","tensorboard": "tensorboard","open_clip_torch": "open_clip_torch","sklearn": "sklearn","wandb": "wandb","tqdm": "tqdm","fairscale": "fairscale","sentencepiece": "sentencepiece","PIL": "PIL","cv2": "opencv-python","gradio": "gradio","autofaiss": "autofaiss","diffusers": "diffusers","plotly": "plotly","easydict": "easydict","huggingface_hub": "huggingface_hub","transformers": "transformers","open3d": "open3d","openai": "openai","knn_cuda": "knn_cuda",
}for k, v in deps.items():try:importlib.import_module(k)print(f"[✓] {v}")except ImportError:print(f"[✗] {v}")

一、MNIST数据集

由0到9的数字图像构成,训练图像约6万张,测试图片约1万张。图片格式28×28的灰度图像(单通道)。各个像素取值在0~255之间

  • mnist_show.py
# coding: utf-8
import sys, os
sys.path.append(os.pardir)  # 为了导入父目录的文件而进行的设定
import numpy as np
from dataset.mnist import load_mnist
from PIL import Image
def img_show(img):pil_img = Image.fromarray(np.uint8(img))pil_img.show()#训练图像,训练标签,测试图像,测试标签
(x_train, t_train), (x_test, t_test) = load_mnist(flatten=True, normalize=False)
print(x_train.shape)
print(t_train.shape)
print(x_test.shape)
print(t_test.shape)
img = x_train[0]
label = t_train[0]
print(label)  # 5print(img.shape)  # (784,)
img = img.reshape(28, 28)  # 把图像的形状变为原来的尺寸
print(img.shape)  # (28, 28)
img_show(img)

其中,load_mnist这个函数在datatest目录下的mnist.py中定义,负责下载数据集,并将其转化为NumPy数字。函数全称是load_mnist(normalize=True, flatten=True, one_hot_label=False)

  • 第一个参数normalize表示是否将输入图像正规化为0.0~1.0的值。否则保持原来的0~255。
  • 第二个参数flatten表示是否展开输入图像(变为一维数组)。若为True,输入图像会保存为由784个元素构成的一维数组。若为False,则输入图像为1×28×28的三维数组1.
  • 第三个参数one_hot_label表示是否把标签保存为one-hot表示,one-hot是仅正确解释标签为1,其余皆为0的数组,类似[0,0,0,1,0,0]。若为False,仅仅表示为2,3,4这样的简单正确解标签,为True时,就是one-hot。

由于flatten=True时读入的图像是一列Numpy数组。比如这样

因此为了显示成功,使用img.reshape(28, 28) , 把图像的形状变为原来的尺寸

二、神经网络推理处理

其中,输入层有28×28=784个神经单元,输出层10个神经元(0-9这10个类别)。然后还包括2个隐藏层,第一个隐藏层有50个神经单元,第2个隐藏层100个神经单元。(神经元数目可以自己设置)

#头文件解释
import sys, os
#sys:提供与 Python 解释器相关的功能(如模块搜索路径 sys.path)。
#os:提供与操作系统交互的功能(如文件路径操作 os.pardir)。
sys.path.append(os.pardir)  # 为了导入父目录的文件而进行的设定
#将父目录(os.pardir,通常是 "..")添加到 Python 的模块搜索路径 sys.path 中。
#目的:为了让 Python 能够找到父目录中的模块(例如后续要导入的 dataset.mnist 和 common.functions)
import numpy as np
import pickle#内置模块,用于加载或保存模型/数据
from dataset.mnist import load_mnist#导入自定义模块中的函数,(/datatest/mnist.py)
  • 函数部分。
    get_data()负责加载 MNIST 数据集,并返回测试集的输入数据 x_test和标签 t_test。init_network()负责初始化网络读入保存在pickle中的sample_weight.pkl中学习到的权重参数。
    predict(network,x)负责前向传播,并返回预测概率。
def sigmoid(x):return 1 / (1 + np.exp(-x))
def softmax(x):return np.exp(x) / np.sum(np.exp(x), axis=0)def get_data():(x_train, t_train), (x_test, t_test) = load_mnist(normalize=True, flatten=True, one_hot_label=False)return x_test, t_testdef init_network():with open("sample_weight.pkl", 'rb') as f:network = pickle.load(f)return networkdef predict(network, x):W1, W2, W3 = network['W1'], network['W2'], network['W3']b1, b2, b3 = network['b1'], network['b2'], network['b3']a1 = np.dot(x, W1) + b1z1 = sigmoid(a1)a2 = np.dot(z1, W2) + b2z2 = sigmoid(a2)a3 = np.dot(z2, W3) + b3y = softmax(a3)return y
  • 主程序整体流程。首先获取数据集,x获取图像数据,t获取标签数据(Numpy数组形式)。然后使用for循环,逐一取出保存在x中的图像数据,使用predict()进行预测,会返回一个含有各个标签对应概率的Numpy数组,[0,1,0.2,0.03...],表示识别为“0”,“1”,“2”的概率。然后我们用np,argmax(x)取出数组中最大概率值对应的索引。然后我们比较神经网络所预测的标签和正确答案标签,把正确的概率作为识别精度。
x, t = get_data()          # 加载测试数据
network = init_network()   # 加载预训练的网络权重
accuracy_cnt = 0           # 初始化正确预测的计数器for i in range(len(x)):y = predict(network, x[i])  # 对第 i 个样本进行预测p = np.argmax(y)            # 取概率最高的类别作为预测结果if p == t[i]:               # 如果预测正确accuracy_cnt += 1       # 计数器 +1print("Accuracy:" + str(float(accuracy_cnt) / len(x)))  # 计算准确率

项目结构是这样的,因为权重是加载好的,运行一下neuralnet_mnist.py这个文件。

http://www.dtcms.com/wzjs/336962.html

相关文章:

  • 男人女人做羞羞事网站东莞网站营销策划
  • 枞阳网站制作长春网站建设解决方案
  • 网站建设公司面临的问题优化设计答案六年级
  • 求委托私人做网站网络广告形式
  • asp网站可运行jsp吗怎么注册域名网址
  • 网站验证码 php深圳市seo上词多少钱
  • 网站开发技术有哪些网站推广步骤
  • 帝国cms做搜索网站seo优化教程
  • 网站建设如何加入字体app开发教程
  • 阿里巴巴的网站应该怎么做搜索引擎优化seo培训
  • wordpress 安装主题后郑州搜索引擎优化公司
  • 安庆网站建设价格seo搜索引擎优化5
  • 杭州五旋科技网站建设怎么样关键词排名优化顾问
  • 推广计划英文公司的seo是什么意思
  • 吕梁做网站会计培训班的费用是多少
  • 水浒传真实原型搜索引擎优化的概念
  • 成都网站的友情链接英文
  • 嵌入式培训骗局北京网站seo设计
  • 承德建设网站公司个人网站创建平台
  • 无锡市工程造价信息网搜索引擎优化网站的网址
  • 三合一静态网站最好的网络营销软件
  • 网站建设可以资本化吗疫情放开最新消息今天
  • 信誉好的丹徒网站建设手机百度seo怎么优化
  • 个人网站备案办理拍照查询网站备案信息
  • 旅游社网站建设规划书长沙互联网网站建设
  • icp备案网站名称百度商业平台官网
  • 万州网站建设果园路成都网站关键词推广
  • 昆明网站建设是什么产品软文范例软文
  • 广州专业网站设计太原seo公司
  • 网站推广系统设计小红书关键词优化