Code For Better 谷歌开发者之声 ——Tensorflow与深度学习

2023-11-04

给大家推荐一款丧心病狂的API测试工具:Apifox。 

Apifox 是接口管理、开发、测试全流程集成工具,定位 Postman + Swagger + Mock + JMeter。点击此处跳转体验


目录

一、TensorFlow简介

二、机器学习与深度学习

2.1 什么是机器学习

2.2  什么是深度学习

2.3 机器学习和深度学习应用

2.4 趋势

三、TensorFlow实现递归神经网络


一、TensorFlow简介

    TensorFlow 是由 Google 团队开发的深度学习框架之一,它是一个完全基于 Python 语言设计的开源的软件。TensorFlow 的初衷是以最简单的方式实现机器学习和深度学习的概念,它结合了计算代数的优化技术,使它便计算许多数学表达式。 

    TensorFlow 可以训练和运行深度神经网络,它能应用在许多场景下,比如,图像识别、手写数字分类、递归神经网络、单词嵌入、自然语言处理、视频检测等等。TensorFlow 可以运行在多个 CPU 或 GPU 上,同时它也可以运行在移动端操作系统上(如安卓、IOS 等),它的架构灵活,具有良好的可扩展性,能够支持各种网络模型(如OSI七层和TCP/IP四层)。

TensorFlow官方网站有两个,访问其中一个就可以,它们分别如下 :

e49156efc8cb4333981c281a6a3d4531.png

TensorFlow有以下重要功能 -

  • 它包含一个叫做张量概念,用来创建多维数组,优化和计算数学表达式。
  • 它包括深度神经网络和机器学习技术的编程支持。
  • 它包括具有各种数据集的高可扩展计算功能。

二、机器学习与深度学习

2.1 什么是机器学习

通常,为了实现人工智能,我们使用机器学习。我们有几种算法用于机器学习。例如:

Find-S算法,决策树算法(Decision trees),随机森林算法(Random forests),人工神经网络

通常,有3种类型的学习算法:

1,监督机器学习算法用于进行预测。此外,该算法搜索分配给数据点的值标签内的模式。

2,无监督机器学习算法:没有标签与数据点相关联。这些ML算法将数据组织成一组簇。此外,它需要描述其结构,使复杂的数据看起来简单,有条理,便于分析。

3,增强机器学习算法:我们使用这些算法来选择动作。此外,我们可以看到它基于每个数据点。一段时间后,算法改变其策略以更好地学习。

2.2  什么是深度学习

机器学习只关注解决现实问题。它还需要更加智能的一些想法。机器学习通过旨在模仿人类决策能力的神经网络。ML工具和技术是关键的两个深度学习的窄子集,我们需要用他们来解决需要思考的问题。任何深度神经网络都将包含三种类型的图层:

输入层     隐藏层        输出层

我们可以说深度学习是机器学习领域的最新领域。这是实现机器学习的一种方式。

2.3 机器学习和深度学习应用

计算机视觉: 我们将其用于车牌识别和面部识别等不同应用。

信息检索: 我们将ML和DL用于搜索引擎,文本搜索和图像搜索等应用程序。

营销:我们在自动电子邮件营销和目标识别中使用这种学习技术。

医疗诊断:它在医学领域也有广泛的应用。癌症鉴定和异常检测等应用。

自然语言处理:适用于情感分析,照片标签,在线广告等应用。

2.4 趋势

如今,机器学习和数据科学正处于趋势中。在公司中,对它们的需求正在迅速增加。对于希望在其业务中集成机器学习而生存的公司而言,他们的需求尤其大。

深度学习被发现,并证明拥有最先进的表演技术。因此,深度学习让我们感到惊讶,并将在不久的将来继续这样做。

最近,研究人员不断探索机器学习和深度学习。过去,研究人员仅限于学术界。但是,如今,机器学习和深度学习的研究正在两个行业和学术界中占据一席之地。

三、TensorFlow实现递归神经网络

     递归神经网络是一种面向深度学习的算法,遵循顺序方法。在神经网络中,我们总是假设每个输入和输出都独立于所有其他层。这些类型的神经网络称为循环,因为它们以顺序方式执行数学计算,考虑以下步骤来训练递归神经网络 -

第1步 - 从数据集输入特定示例。
第2步 - 网络将举例并使用随机初始化变量计算一些计算。
第3步 - 然后计算预测结果。
第4步 - 生成的实际结果与期望值的比较将产生错误。
第5步 - 为了跟踪错误,它通过相同的路径传播,其中也要调整变量。
第6步 - 重复从1到5的步骤,直到声明获得输出的变量正确定义。
第7步 - 通过应用这些变量来获得新的看不见的输入来进行系统预测。

表示递归神经网络的示意方法如下所述 :

2f090da8be6e0c0a1fed364322a00252.jpeg

 

第1步  TensorFlow包括用于循环神经网络模块的特定实现的各种库。 

#Import necessary modules
from __future__ import print_function

import tensorflow as tf
from tensorflow.contrib import rnn
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets("/tmp/data/", one_hot = True)

第2步  使用递归神经网络对图像进行分类,将每个图像行视为像素序列。MNIST图像形状具体定义为28 * 28像素。现在将为所提到的每个样本处理28个序列和28个步骤。定义输入参数以完成顺序模式。

n_input = 28 # MNIST data input with img shape 28*28
n_steps = 28
n_hidden = 128
n_classes = 10

# tf Graph input
x = tf.placeholder("float", [None, n_steps, n_input])
y = tf.placeholder("float", [None, n_classes]
weights = {
   'out': tf.Variable(tf.random_normal([n_hidden, n_classes]))
}
biases = {
   'out': tf.Variable(tf.random_normal([n_classes]))
}

第3步  使用RNN中定义的函数计算结果以获得最佳结果。这里,将每个数据形状与当前输入形状进行比较,并计算结果以保持准确率。

def RNN(x, weights, biases):
   x = tf.unstack(x, n_steps, 1)

   # Define a lstm cell with tensorflow
   lstm_cell = rnn.BasicLSTMCell(n_hidden, forget_bias=1.0)

   # Get lstm cell output
   outputs, states = rnn.static_rnn(lstm_cell, x, dtype = tf.float32)

   # Linear activation, using rnn inner loop last output
   return tf.matmul(outputs[-1], weights['out']) + biases['out']

pred = RNN(x, weights, biases)

# Define loss and optimizer
cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits = pred, labels = y))
optimizer = tf.train.AdamOptimizer(learning_rate = learning_rate).minimize(cost)

# Evaluate model
correct_pred = tf.equal(tf.argmax(pred,1), tf.argmax(y,1))
accuracy = tf.reduce_mean(tf.cast(correct_pred, tf.float32))

# Initializing the variables
init = tf.global_variables_initializer()


第4步  在此步骤中,将启动图形以获得计算结果。也有助于计算测试结果的准确性。

with tf.Session() as sess:
   sess.run(init)
   step = 1
   # Keep training until reach max iterations

   while step * batch_size < training_iters:
      batch_x, batch_y = mnist.train.next_batch(batch_size)
      batch_x = batch_x.reshape((batch_size, n_steps, n_input))
      sess.run(optimizer, feed_dict={x: batch_x, y: batch_y})

      if step % display_step == 0:
         # Calculate batch accuracy
         acc = sess.run(accuracy, feed_dict={x: batch_x, y: batch_y})

         # Calculate batch loss
         loss = sess.run(cost, feed_dict={x: batch_x, y: batch_y})

         print("Iter " + str(step*batch_size) + ", Minibatch Loss {:.6f}".format(loss) + ", Training Accuracy= {:.5f}".format(acc))
      step += 1
   print("Optimization Finished!")
      test_len = 128
   test_data = mnist.test.images[:test_len].reshape((-1, n_steps, n_input))

   test_label = mnist.test.labels[:test_len]
   print("Testing Accuracy:", \
      sess.run(accuracy, feed_dict={x: test_data, y: test_label}))


0d5220335de54feb962b3b04a053ba68.png

上面的屏幕截图显示了生成的输出 。

毫不夸张得说,TensorFlow的流行让深度学习门槛变得越来越低,只要你有Python和机器学习基础,入门和使用神经网络模型变得非常简单。TensorFlow支持Python和C++两种编程语言,再复杂的多层神经网络模型都可以用Python来实现。

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Code For Better 谷歌开发者之声 ——Tensorflow与深度学习 的相关文章

  • 信息系统开发与管理(自考)往届题目复习

    信息系统开发与管理 信息系统开发与管理 简答题 选择题解析 day2 名词解释 day3 day4 信息系统开发与管理 简答题 战略型管理信息系统 主要服务于高层管理者 主要目的是为了战略计划的制订和调整提供辅助决策的功能 简述管理信息系统
  • Java Thread.yield()方法具有什么功能呢?

    转自 Java Thread yield 方法具有什么功能呢 下文讲述Thread yield 方法的功能简介说明 如下所示 Thread yield 方法的功能 暂停当前线程 将当前线程重新放回CPU的调度中心 yield 方法注意事项
  • Leetcode 刷题笔记:哈希表篇

    基本概念 哈希表 根据关键码的值而直接进行访问的数据结构 那么哈希表能解决什么问题呢 一般哈希表都是用来快速判断一个元素是否出现集合里 哈希函数 哈希碰撞 一般哈希碰撞有两种解决方法 拉链法和线性探测法 常见的三种哈希结构 数组array

随机推荐

  • 【华为OD统一考试A卷

    华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一修改为OD统一考试 A卷 和OD统一考试 B卷 你收到的链接上面会标注A卷还是B卷 请注意 根据反馈 目前大部分收到的都是
  • 计操理论课10 -- openEuler实验第九章内核虚拟化

    文章目录 任务一 搭建openEuler系统的qemu虚拟机 知识点 实验过程 任务二 搭建使用docker 知识点 1 Docker Engine 2 Docker对象 3 Dockerfile 知识点 删除容器 创建自定义镜像并以此为基
  • TCP/IP详解 卷1:协议 学习笔记 第二十一章 TCP的超时与重传

    TCP发送的数据和确认都可能丢失 TCP通过在发送时设置一个定时器来解决这种问题 当定时器溢出时还没收到确认 它就重传该数据 对于每个连接 TCP管理4个不同定时器 1 重传定时器用于希望收到另一端的确认 2 坚持定时器使窗口大小信息保持不
  • android修改checkbox样式边框颜色

    s之前写了一个自动登录和记住密码的功能 用的是checkbox控件 但是原生控件边框样式不太符合要求 如图 我想修改成白色 在网上查了一些资料 说在style xml文件中定义一个样式
  • 全景图像拼接——基本流程

    图像拼接技术是数字图像处理技术一个重要的研究方向 它即是将两幅或多幅相互有部分重叠的场景照片拼接成具有超宽视角 与原始图像接近且失真小 没有明显缝合线的高分辨率图像 可以很好地解决广角镜 鱼眼镜头等全景图获取设备的不足 如下图 图像拼接产生
  • Spring Boot 结合Spring Cache三大注解(@Cacheable,@CachePut,@CacheEvict)做缓存使用

    Spring Cache是一个框架 实现了基于注解的缓存功能 只需要简单地加一个注解 就能实现缓存功能 大大简化我们在业务中操作缓存的代码 注解 EnableCaching 开启缓存注解功能 Cacheable 在方法执行前spring先查
  • springsecurtity的login方法不跳转_微信小程序页面跳转教程

    如何实现微信小程序跳转功能 首先你得有一个已发布成功的小程序 这里简单给大家说明下如何发布 选一个简单的小程序制作工具 如 上线了 sxl cn 注册好账号后选择 创建小程序 再选一个超级云名片 或者电商 展示 模板 然后你可以在 小程序设
  • shiro配置文件shiro.ini简介说明

    转自 shiro配置文件shiro ini简介说明 下文笔者讲述shiro配置文件shiro ini的简介说明 如下所示 shiro ini 是一个shiro的配置文件 它通常放在classpath路径下 shiro ini配置文件包含以下
  • google_protobuf数据类型

    原文链接 google protobuf数据类型 要通信 必须有协议 否则双方无法理解对方的码流 在protobuf中 协议是由一系列的消息组成的 因此最重要的就是定义通信时使用到的消息格式 Protobuf消息定义 消息由至少一个字段组合
  • 修改orcle数据库为mysql数据库时注意事项

    测试时 想把测试数据库从oracle换为mysql时 一定要注意修改OracleDialect这个地方为MySQLDialect
  • 求职季,我是这样拿到百度AI Offer的!

    最近摸鱼期间 发现身为程序员的我被赋予了另一个身份 新生代农民工 简直炸了 重点还官宣了 这就更加实锤了啊 我就想说 我们新生代农民工招谁惹谁了 我们能有什么坏心思呢 头都秃了挣点高工资容易吗 说到高工资 坊间确实流传着程序员35岁财富自由
  • webpack5 搭建脚手架 vue版

    webpack config js const path require path const EslintWebpackPlugin require eslint webpack plugin const HtmlWebpackPlugi
  • linux中module工具的使用介绍

    1 module简介 module是一个专门管理环境变量的工具 全程是module environment 一般应用于软件或运行库等设备有多个版本 且需要分别配置这些环境变量 2 module工具的官网 module官网https modu
  • 自动化工具后起之秀Ansible的部署实践

    转载本文需注明出处 微信公众号EAWorld 违者必究 从早期手动加脚本的部署方式 到后来自动化工具 chef puppet saltstack ansible等 的出现 再到如今DevOps的盛行 企业应用部署正式进入平台部署阶段 CD
  • 程序版本号的制定方法

    前言 最近正好在为部门开发工作用的相关插件 但之前并未接触过软件工程这类系统知识 开发过程中对软件不同阶段的分界和命名一直不明确 所以查阅了一些资料整理了一下 供自己和其他有需要的朋友日后参考 正文 我们常见的版本号命名规则为 name X
  • C语言课设-药品管理系统(含代码)

    用到的知识点 文件操作 fopen fclose fprintf fscanf fread fwirte函数等 链表操作 头插法 尾插法 增删节点 window h里system color XX 用来美化黑框框 函数原型 int syst
  • 【Linux学习笔记】基础命令3

    1 find命令 2 which命令 3 alias命令 4 whereis命令 5 grep命令 6 zip和unzip 6 1 zip命令 6 2 unzip命令 7 tar命令 8 命令行解释器 1 find命令 用法 find 路径
  • 百度官宣在前,阿里、京东在后,互联网大厂向ChatGPT而生?

    ChatGPT蹿红后 互联网科技公司都坐不住了 最早 百度正式对外官宣类ChatGPT项目 文心一言 ERNIE Bot 据笔者了解 该产品将于三月份完成内测 面向公众开放 紧随其后 阿里巴巴公布阿里版聊天机器人ChatGPT正在内测阶段
  • [Go版]算法通关村第二关白银——两两交换链表中的节点问题解析

    目录 题目 两两交换链表中的节点 解决方法 思路分析 Go代码 画图说明 题目 两两交换链表中的节点 题目链接 LeetCode 24 两两交换链表中的节点 解决方法 源码地址 GitHub golang版本 思路分析 让虚拟头结点指向链表
  • Code For Better 谷歌开发者之声 ——Tensorflow与深度学习

    给大家推荐一款丧心病狂的API测试工具 Apifox Apifox 是接口管理 开发 测试全流程集成工具 定位 Postman Swagger Mock JMeter 点击此处跳转体验 目录 一 TensorFlow简介 二 机器学习与深度