网站安全检测中心请教 网站建设价格一般多少钱

bicheng/2026/1/25 15:29:57/文章来源:
网站安全检测中心,请教 网站建设价格一般多少钱,济南泰安网站建设公司,昆明网络营销软件初始神经网络 用一个实际例子来理解神经网络。 使用MNIST数据集#xff0c;它就像是深度学习的hello word#xff0c;包含60000张训练图像和10000张测试图像。 代码地址#xff1a; Google Colaboratory 2.2神经网络的数据表示 在例子中#xff0c;数据存储在多维的N…初始神经网络 用一个实际例子来理解神经网络。 使用MNIST数据集它就像是深度学习的hello word包含60000张训练图像和10000张测试图像。 代码地址 Google Colaboratory 2.2神经网络的数据表示 在例子中数据存储在多维的NumPy的数组中也叫做张量tensor 标量0阶张量 仅包含一个数字的张量叫做标量scalar。 如下例子新建一个仅包含一个数组的标量并查看他的轴ndim import numpy as np x np.array(12) x.ndim # 0向量1阶张量 数字组成的数组叫做向量vector也叫一阶张量。 x np.array([12, 3, 6, 14, 7]) x.ndim # 1矩阵2阶张量 向量组成的二维数组叫做矩阵matrix也叫二阶张量。 3阶张量与更高阶张量 将多个矩阵打包到一起就得到了3阶张量。 将多个3阶张量打包就的到了4阶张量。用这种方式可以得到更高阶的张量。一般4阶就够用了。处理视频可能需要5阶。 张量的属性 **轴的个数阶数**在NumPy库中对应张量的ndim属性**形状**这是一个由整数组成的元组表示张量沿每个轴的维度大小元素个数。比如一个矩阵的形状是(3,5)表示该矩阵有3行5列。三阶张量(3,3,5)表示由3个3*5的矩阵组成。**数据类型**dtype一般是float16float32float64unit8等 举例来说 from tensorflow.keras.datasets import mnist (train_images, train_labels), (test_images, test_labels) mnist.load_data()# 轴的个数说明训练数据是一个3阶张量 train_images.ndim # 3# 训练数据的形状 由60000个28*28的矩阵组成 train_images.shape # (60000, 28, 28)# 训练数据的数据类型 train_images.dtype # dtype(uint8)操作张量 可以对张量进行切片 # 张量的切片 my_slice train_images[10:100] my_slice.shape # (90, 28, 28)# 一样的效果这样写更详细 my_slice train_images[10:100, :, :] my_slice train_images[10:100, 0:28, 0:28]数据批量 # 分批处理一般是128这叫做批量轴 batch train_images[:128] batch train_images[128:256] n 3 batch train_images[128 * n:128 * (n 1)]常见张量实例 向量数据形状是(samples, features)的2阶张量也就是一维数组。例如 保险数据集。每个人的年龄性别收入对应3个feature总人数10000所以最终存储在(10000,3)的2阶张量中。 文档文本数据集。500个文档记录2000的常用单词出现的次数。最终存储在(500,20000)的2阶张量中。 时间序列数据或序列数据当时间堆数据很重要时时间被加入到每个样本的二阶张量中编译成一个3阶张量。例如 股票价格数据集。每一分钟保存股票的当前价格、前一分钟的最高价和最低价。每一分钟是一个3维的向量一个交易日被编码为(390,3)的矩阵250天的数据保存在(250,390,3)的3阶张量中。 推文数据集每条推文280个字符每个字符来自128个字符的字母表。因此每条推文是一个(290,128)的向量包含10000条推文的数据集是(10000,290,128)的三阶张量。 图像数据 灰度图像不存在颜色假如存储100张256x256的图像灰度图像是(100,256,256,1)彩色图像是(100,256,256,3) **视频数据:**视频数据由帧组成(samplse, frames, height, width, color_depth) 例如一个144*256分辨率的60s视频以每秒4帧计算共有240帧。存储4个视频片段保存在形状是(4, 240, 244, 256, 3)的张量中。 2.3张量运算 所有的计算机运算最终都可以简化为对二进制输入的二进制运算(ANDORNOR)与之类似的深度神经网络的所有变换也可以简化为对数值数据张量进行的张量运算或张量函数比如张量加法、张量乘法。 # 张量积运算 x np.random.random((32,)) y np.random.random((32,)) z np.dot(x, y)逐元素运算 目前大多直接借助Numpy的内置方法实现 # np内置方法计算一个20*100的矩阵每个元素相加和relu运算耗时 import timex np.random.random((20, 100)) y np.random.random((20, 100))t0 time.time() for _ in range(1000):z x yz np.maximum(z, 0.) print(Took: {0:.2f} s.format(time.time() - t0))广播 如果两个张量的阶数不一样较小的张量会被广播。 # 广播 import numpy as np # x是一个32*10的矩阵 x np.random.random((32, 10)) # y是一个随机数组也就是向量 y np.random.random((10,)) # y的形状变为(1,10) y np.expand_dims(y, axis0) # 将y沿着新轴重复32次就的到了和x形状相同的轴 y np.concatenate([y] * 32, axis0)被广播后y的形状和x一样就可以进行运算了 实际上该方法也已经内置 import numpy as np x np.random.random((64, 3, 32, 10)) y np.random.random((32, 10)) z np.maximum(x, y)张量积 在numpy中使用np.dot来实现张量积 x np.random.random((32,)) y np.random.random((32,)) z np.dot(x, y)标量的张量积和矩阵的张量积 张量变形 重新排列张量的行和列这就是张量的变形。 import numpy as np # 一个3*2的张量 x np.array([[0., 1.],[2., 3.],[4., 5.]]) x.shape # (3, 2) # 转换成6*1的张量 x x.reshape((6, 1))常见的变形有矩阵的转置也就是互换矩阵的行和列。 x np.zeros((300, 20)) x np.transpose(x) x.shape # (20, 300)张量运算的几何解释 平移2个向量的和对应了向量在坐标系中的平移相加 旋转通过与一个2*2的矩阵做点积运算可以实现对二维向量的逆时针旋转。 缩放 线性变换与任意矩阵做点积运算就进行了一次线性变换。上述缩放和旋转都是线性变换 深度学习的几何解释 就像把2张揉在一起的纸重新用手一步步解开的过程。 2.4神经网络的引擎基于梯度的优化 梯度 什么是梯度gradient我们在数学上学过函数的导数用来描述在x发生变化时y的最小变化。张量运算的导数就是梯度。 举例说明如下 一个输入向量x数据集中的一个样本一个矩阵W模型权重一个目标值y_true一个损失函数loss 用w可以得出预测值y_pred然后可以计算损失值也就是y_pred和y_true之间的差距。 y_pred dot(W, x) loss_value loss(y_pred, y_true)我们的目标是利用梯度来更新W使得loss_value变小。 如果输入数据x和y_true保持不变那么上面的运算可以看做一个将权重W映射到损失值的函数 loss_value f(W)f在W0点的导数是一个张量grad(loss_value, W0)每个grad(loss_value, W0)[i,j]表示的是当矩阵W0[i, j]发生变化时loss_value变化的方向和大小。 张量grad(loss_value, W0)就是函数f(W) loss_value在W0处的梯度。 随机梯度下降 如果一个函数可导那么我们求出所有导数为0的点 然后比较f(x)的大小就能得到函数的最小值。 于此类似在神经网络中对grad(f(W), W)0求解就可以求出损失函数的最小值。在参数是2个或3个的时候确实可以这么做。然鹅事实上往往有很多参数甚至成千上百个参数这样是无法求解的。 我们可以基于当前在随机数据批量上的损失值慢慢对参数进行调整 抽取训练样本x和对应目标y_true组成的一个数据批量在x上运行模型得到预测值y_pred。这叫做前向传播。计算模型在这批数据上的损失值用于衡量y_pred和y_true之间的差距计算损失相对于模型参数的梯度。这叫做反向传播。将参数沿着梯度的反方向移动一小步。比如W - learning_rate * gradient。从而是这批数据损失值降低。 以上这种方法叫做小批量随机梯度下降简称小批量SGD。随机指的是每批数据都是随机抽取的。 如果每次只抽取一个样本和目标这叫做**真SGD另一个极端是每次迭代都在所有数据上进行这叫做批量梯度下降。**数据太多的话计算成本很高但太少又不够准确。这两个方法的折中在于选择合适批量大小。 链式求导反向传播算法 假设有2个函数f(x)和g(x)如果可以分别求出他们的导数那么就可以求出他们的复合函数f(g(x))的导数。如果中间函数更多看起来就像一条链子这就是链式法则。 将链式法则应用于神经网络梯度值的计算就得到了反向传播算法。 目前可以使用自动微分的工具来实现反向传播比如TensorFlow库。 import tensorflow as tf # 将初始值设置为0 x tf.Variable(0.) # 创建一个GradientTape作用域 with tf.GradientTape() as tape:# 在作用域内对变量做一些张量运算y 2 * x 3 # 利用梯度带获取输出y相对于变量x的梯度 grad_of_y_wrt_x tape.gradient(y, x)例子 现在我们对神经网络有了一个基本的了解用学到的知识来看一下例子 输入数据数据保存在float32类型的Numpy张量中形状分别为(6000, 2828)训练数据和(10000, 2828)测试数据 (train_images, train_labels), (test_images, test_labels) mnist.load_data() train_images train_images.reshape((60000, 28 * 28)) train_images train_images.astype(float32) / 255 test_images test_images.reshape((10000, 28 * 28)) test_images test_images.astype(float32) / 255生成模型包含两个链接在一起的Dense层每层都对输入数据做一些张量运算。 from tensorflow import keras from tensorflow.keras import layers model keras.Sequential([layers.Dense(512, activationrelu),layers.Dense(10, activationsoftmax) ])模型编译 model.compile(optimizerrmsprop,losssparse_categorical_crossentropy,metrics[accuracy])循环训练 model.fit(train_images, train_labels, epochs5, batch_size128)用TensorFlow实现暂时只需要知道大概流程就行后面会详细说明 Dense主要实现如下输入变换 output activation(dot(W, input) b)我们来写一个简单的Dense类 import tensorflow as tfclass NaiveDense:def __init__(self, input_size, output_size, activation):self.activation activation# 创建一个指定形状的矩阵w并将其随机初始化w_shape (input_size, output_size)w_initial_value tf.random.uniform(w_shape, minval0, maxval1e-1)self.W tf.Variable(w_initial_value)# 创建一个形状为(output_size,)的零向量bb_shape (output_size,)b_initial_value tf.zeros(b_shape)self.b tf.Variable(b_initial_value)def __call__(self, inputs):# 前向传播return self.activation(tf.matmul(inputs, self.W) self.b)propertydef weights(self):return [self.W, self.b]通过一个Sequential类连接这些层 class NaiveSequential:def __init__(self, layers):self.layers layersdef __call__(self, inputs):x inputsfor layer in self.layers:x layer(x)return xpropertydef weights(self):weights []for layer in self.layers:weights layer.weightsreturn weights利用以上两个类我们可以创建一个类似Keras的模型 model NaiveSequential([NaiveDense(input_size28 * 28, output_size512, activationtf.nn.relu),NaiveDense(input_size512, output_size10, activationtf.nn.softmax) ]) assert len(model.weights) 4进行小批量迭代 import mathclass BatchGenerator:def __init__(self, images, labels, batch_size128):assert len(images) len(labels)self.index 0self.images imagesself.labels labelsself.batch_size batch_sizeself.num_batches math.ceil(len(images) / batch_size)def next(self):images self.images[self.index : self.index self.batch_size]labels self.labels[self.index : self.index self.batch_size]self.index self.batch_sizereturn images, labels完成一次训练 def one_training_step(model, images_batch, labels_batch):with tf.GradientTape() as tape:predictions model(images_batch)per_sample_losses tf.keras.losses.sparse_categorical_crossentropy(labels_batch, predictions)average_loss tf.reduce_mean(per_sample_losses)gradients tape.gradient(average_loss, model.weights)update_weights(gradients, model.weights)return average_lossfrom tensorflow.keras import optimizersoptimizer optimizers.SGD(learning_rate1e-3)def update_weights(gradients, weights):optimizer.apply_gradients(zip(gradients, weights))一轮训练就是对训练数据的每个批量都重复上述训练步骤完整的训练循环就是重复多伦训练。 def fit(model, images, labels, epochs, batch_size128):for epoch_counter in range(epochs):print(fEpoch {epoch_counter})batch_generator BatchGenerator(images, labels)for batch_counter in range(batch_generator.num_batches):images_batch, labels_batch batch_generator.next()loss one_training_step(model, images_batch, labels_batch)if batch_counter % 100 0:print(floss at batch {batch_counter}: {loss:.2f})from tensorflow.keras.datasets import mnist (train_images, train_labels), (test_images, test_labels) mnist.load_data()train_images train_images.reshape((60000, 28 * 28)) train_images train_images.astype(float32) / 255 test_images test_images.reshape((10000, 28 * 28)) test_images test_images.astype(float32) / 255fit(model, train_images, train_labels, epochs10, batch_size128)评估模型 # 评估模型 import numpy as np predictions model(test_images) predictions predictions.numpy() predicted_labels np.argmax(predictions, axis1) matches predicted_labels test_labels print(faccuracy: {matches.mean():.2f})

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/86814.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何做淘宝直播教学视频网站登记注册身份验证app下载

前言 最近我在公司优化过几个慢查询接口的性能,总结了一些心得体会拿出来跟大家一起分享一下,希望对你会有所帮助。 我们使用的数据库是Mysql8,使用的存储引擎是Innodb。这次优化除了优化索引之外,更多的是在优化count(*)。 通…

信息课做网站的软件wordpress网站 app

chunk-vendors.js 是/node_modules 目录下的所有模块打包成的包, 但是这包太大导致页面加载很慢(我的都要3-4秒了), 这个时候就会出现白屏的情况 解决方案 1、compression-webpack-plugin 插件解决方案 1)、安装 npm …

建设在线教育网站济南抖音seo

文章目录 一、下载所需安装包二、安装三、启动rabbitmq四、添加远程用户五、图形化访问六、修改rabbitmq的启动端口和管理端口(没有这个需求就不用看了)七、需要注意版本问题可能遇到的错误和解决方式version GLIBC_2.34 类型错误undefined function rab…

呼家楼做网站的公司小程序diy制作平台

基于Springboot的中小型制造企业质量管理系统(有论文) 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的中小型制造企业质量管理设计与实现,本系统有管理员以及工作人员二种角色权限 管理员:首页、个…

网站空间可以转移吗个人简历word免费模板

系列: zookeeper快速入门一:zookeeper安装与启动-CSDN博客 zookeeper快速入门二:zookeeper基本概念-CSDN博客 zookeeper快速入门三:zookeeper的基本操作 zookeeper快速入门四:在java客户端中操作zookeeper-CSDN博客…

南海区建设网站个人做跨境电商网站有哪些

上周发了一篇 《鸿蒙终于不套壳了?纯血 HarmonyOS NEXT 即将到来》的相关资讯,没想到大家「讨(fa)论(xie)」的热情很高,莫名蹭了一波流量,虽然流量对我来说也没什么用,但…

创办网页模板网站好优化吗

开源网站: Code Google 谷歌旗下的一个开源项目托管网站,资源很丰富,文档也很齐全,甚至还有中文文档。 Souceforge 国外一个比较有名的开源网站,很多有名的开源项目都是在这个网站托管的。 Github 也很不错的一个开源网…

wordpress建站教程书推荐展览设计网站有哪些

先停止当前Sync,找到gradle-wrapper.properties文件,将distributionUrl修改为腾讯镜像源: distributionUrlhttps\://mirrors.cloud.tencent.com/gradle/gradle-6.5-bin.zip

网站如何做映射阿坝网页设计公司

一、源码特点 java SSM物业管理系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,springspringMVCmybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和 数据库,系统主要采用B/…

长春做网站的公司有哪些静态网页做的网站怎么发到网上

安装Yaml第三方库 主要是介绍对应的命令如下所示【以下命令都可,选一个即可】 pip install pyyaml conda install pyyamlyaml文件介绍 yaml读取文件具体可以参考对应default.yaml文件【在下文文件案例给出】,具体形式如下所示。yaml对大小写和缩进敏感&a…

建设公司网站源码网页设计与制作步骤

简介RedisRedis安装怎么远程连接基础命令常用类型字符串类型字典类型列表类型集合类型有序集合类型 spring boot集成Redis代码操作Redis 实现一个session储存到redis持久化缓存雪崩缓存穿透缓存击穿缓存预热 项目升级之Redis储存Session 简介Redis Redis是一种内存数据存储系统…

做网站模板出售类网站怎么样创意作品

开发者朋友们大家好: 这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE (Real Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文…

收录排名好的发帖网站中诺建设集团有限公司网站

点击整个专栏查看其它系列文章 (系列文章更新中…):《iVX 高仿美团APP制作移动端完整项目》 项目界面预览: 一、创建项目 首先打开在线编辑器地址:https://editor.ivx.cn/ 随后登录帐号后创建一个相对应用项目&…

建设广告网站费用怎么给自己制作一个网站

word打开来显示一直正在启动中,其他调用word的应用也打不开,网上查了下以后进程关闭spoolsv.exe,就可以正常打开word了

江苏专业做网站的公司有哪些微网站建设对微网站进行策划

MySQL 主备的基本原理MySQL 主备切换流程.png主备同步流程图备库 B 跟主库 A 之间维持了一个长连接。主库 A 内部有一个线程,专门用于服务备库 B 的这个长连接。一个事务日志同步的完整过程是这样的:在备库 B 上通过 change master 命令,设置…

像试淘网网站怎么建设北京小程序公司

MongoDB一直显示 Unrecognized option: storage try ‘mongod --help’ for more information 意思是我们配置的config文件出了问题。 说明:MongoDB采用的是YAML格式,所以我们只需要稍微改改就好。 在storage前面:没有空格 下面两行最前面…

大屯街道网站建设徐州建设企业网站

安装Visual studio 官方网址 https://visualstudio.microsoft.com/zh-hans/ 选择第一个社区版本(免费) 下载完成后打开安装包 安装完成后会自动打开程序选择c项目然后安装即可(c兼容c) 安装完成后启动程序注意这里需要注册也可…

网站主题选择google浏览器官网下载

准备工作 https://www.right.com.cn/forum/thread-161906-1-1.html https://breed.hackpascal.net/ 在第二个链接里下载路由器对应的breed固件,固件的说明见第一个链接,下文以极路由4为例演示 由于极路由官方挂了,无法进行root&#xff0…

如何通过做网站挣钱深圳网站建设服务中心

进程与线程 进程与线程:详细解析计算机的基本运作单位1. 进程:独立的执行环境1.1 进程的特点: 2. 线程:轻量级的执行单元2.1 线程的特点: 3. 区别和联系4. 表格 进程与线程:详细解析计算机的基本运作单位 在…

淄博免费网站建设哪家好前端网站开发实例

系列文章目录 文章目录 系列文章目录一、springboot常用的starter有哪些二、 SpringBoot 实现热部署有哪几种方式?三、如何理解 Spring Boot 配置加载顺序? 一、springboot常用的starter有哪些 spring-boot-starter-web 嵌入tomcat和web开发需要servlet…