热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Tensorflowlesson2---唯一的结构tensor

在Tensorflow中所有的数据都是使用tensor来描述的,不管是变量,常量,placeholder等都是一个tensor,tensor的中文翻译是张量,也就是我们在进行tensorflow

在Tensorflow中所有的数据都是使用tensor来描述的,不管是变量,常量,placeholder等都是一个tensor,tensor的中文翻译是张量,也就是我们在进行tensorflow编程的时候所有的输入输出都是一个tensor,这一点非常重要的。

下图是Tensorflow官方文档中的说明
这里写图片描述

从中可以看出我们使用python编程中

  • s=483. 这样的简单变量,在Tensor中被描述为一个Rank=0的tensor
  • v=[1.1,2.2,3.3]. 这种列表,在数学概念上是一种向量,而的tensorflow则被描述为Rank=1的tensor
  • m=[[1,2,3],[4,5,6],[7,8,9]],这种在数学上称之为矩阵的,在tensorflow中被描述为Rank=2的tensor
  • tensor的Rank可以是等于3或者更高的数值
    Rank可以理解为tensor的维度,Rank越大Tensor就越复杂,所包含的信息量就越大

tensor中的每个元素可以被是各种数据类型,tensorflow中已经定义了15种基本的数据类型
这里写图片描述

定义rank=0的常量

node1 = tf.constant(3.0, tf.float32) 

placeholder可以传递Rank=0或者Rank=1的输入参数

a=tf.placeholder(tf.float32)
b=tf.placeholder(tf.float32)
adder_node=a+b

print(sess.run(adder_node,{a:5,b:7}))
print(sess.run(adder_node,{a:[6,9],b:[9,7]}))

下面一段代码可以做为一个完整的练习,去理解tensor

import tensorflow as tf
import numpy as np

node1 = tf.constant(3.0, tf.float32) # create a constant
node2 = tf.constant(4.0)

print(node1, node2) ##just print the node type

sess = tf.Session()
print(sess.run(node1), sess.run(node2)) ## print the node value

node3 = tf.add(node1, node2)
print("node3: ", node3)
print("sess.run node3:", sess.run(node3))


a=tf.placeholder(tf.float32)
b=tf.placeholder(tf.float32)
adder_node=a+b

print(sess.run(adder_node,{a:5,b:7}))
print(sess.run(adder_node,{a:[6,9],b:[9,7]}))

c=tf.placeholder(tf.float32)

adder_and_triple= adder_node*c
print(sess.run(adder_and_triple,{a:[8,9],b:[1,6],c:3}))

执行完会输出如下内容:

3.0 4.0
node3: Tensor("Add:0", shape=(), dtype=float32)
sess.run node3: 7.0

可以看到执行如下这一句

print("node3: ", node3)

输出的结果是一个Tensor结构的描述

node3:  Tensor("Add:0", shape=(), dtype=float32)

推荐阅读
  • 本文介绍了在Python张量流中使用make_merged_spec()方法合并设备规格对象的方法和语法,以及参数和返回值的说明,并提供了一个示例代码。 ... [详细]
  • TensorFlow入门上
    前置准备在阅读本文之前,请确定你已经了解了神经网络的基本结构以及前向传播、后向传播的基本原理,如果尚未了解,可以查看下文。神经网络初探​chrer.com也可以直接在我博客阅读Te ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 【论文】ICLR 2020 九篇满分论文!!!
    点击上方,选择星标或置顶,每天给你送干货!阅读大概需要11分钟跟随小博主,每天进步一丢丢来自:深度学习技术前沿 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • 也就是|小窗_卷积的特征提取与参数计算
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了卷积的特征提取与参数计算相关的知识,希望对你有一定的参考价值。Dense和Conv2D根本区别在于,Den ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • 本文介绍了机器学习手册中关于日期和时区操作的重要性以及其在实际应用中的作用。文章以一个故事为背景,描述了学童们面对老先生的教导时的反应,以及上官如在这个过程中的表现。同时,文章也提到了顾慎为对上官如的恨意以及他们之间的矛盾源于早年的结局。最后,文章强调了日期和时区操作在机器学习中的重要性,并指出了其在实际应用中的作用和意义。 ... [详细]
  • Window10+anaconda+python3.5.4+ tensorflow1.5+ keras(GPU版本)安装教程 ... [详细]
  • 本人学习笔记,知识点均摘自于网络,用于学习和交流(如未注明出处,请提醒,将及时更正,谢谢)OS:我学习是为了上 ... [详细]
  • 代码如下:#coding:utf-8importstring,os,sysimportnumpyasnpimportmatplotlib.py ... [详细]
  • 「爆干7天7夜」入门AI人工智能学习路线一条龙,真的不能再透彻了
    前言应广大粉丝要求,今天迪迦来和大家讲解一下如何去入门人工智能,也算是迪迦对自己学习人工智能这么多年的一个总结吧,本条学习路线并不会那么 ... [详细]
  • 基于TensorFlow的Keras高级API实现手写体数字识别
    前言这个项目的话我也是偶然在B站看到一个阿婆主(SvePana)在讲解这个,跟着他的视频敲的代码并学习起来的。并写在自己这里做个笔记也为 ... [详细]
author-avatar
ScilenceBill
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有