Tensorflow框架(张量、计算图、会话)

2023-10-31

张量、计算图、会话

人工智能实践:Tensorflow笔记 --Tensorflow框架(张量、计算图、会话)

基于Tensorflow的NN(神经网络):用张量表示数据,用计算图搭建神经网络,用会话执行计算图,优化线上的权重(参数),得到模型。

张量(tensor) : 多维数组(列表) 阶:张量的维数
张量可以表示0阶到n阶数组(列表)
在这里插入图片描述
判断张量是几阶的,就通过张量右边的方括号数,0个就是0阶,n个是n阶,张量可以表示0阶到n阶数组(列表)。

数据类型:tf.float32 tf.int32 …
两个张量加法示例:

import tensorflow as tf   #引入模块
#tf.constant 表示定义常数
a = tf.constant([1.0,2.0]) #定义张量a等于常数[1.0 2.0]
b = tf.constant([3.0,4.0]) #定义张量b等于常数[3.0 4.0]

result = a + b  #实现a加b的加法
print result    #打印出结果

显示:(下图意思为result是一个名为add:0的张量,shape=(2,)里有一个元素,所以维度是1,元素2代表第一个维度里有两个元素,表示一维数组长度为2,dtype=float32表示数据类型是浮点型的)
在这里插入图片描述
计算图只描述了运算过程,不计算运算结果。
计算图(Graph):搭建神经网络的计算过程,是承载一个或多个计算节点的一张图,只搭建网络,不运算。
神经网络的基本模型是神经元,神经元的基本模型其实就是数学中的乘、加运算。
在这里插入图片描述
x1、x2表示输入,w1、w2分别是x1到y和x2到y的权重,y=x1w1+x2w2。
上图代码为:

import tensorflow as tf   #引入模块
x = tf.constant([[1.0,2.0]]) #定义一个2阶张量等于[[1.0,2.0]]
w = tf.constant([[3.0],[4.0]]) #定义一个2阶张量等于[[3.0],[4.0]]
y = tf.matmul(x,w)  #实现xw矩阵乘法
print y  #打印出结果

可以打印出这样一句话:Tensor(“matual:0”,shape(1,1),dtype=float32),从这里我们可以看出,print的结果显示y是一个张量,只搭建承载计算过程的计算图,并没有运算,如果我们想得到运算结果就要用到“会话Session()”了。

会话(Session):执行计算图中的节点运算。
with tf.Session() as sess:
print sess.run(y)

import tensorflow as tf   #引入模块

x = tf.constant([[1.0,2.0]]) #定义一个2阶张量等于[[1.0,2.0]]
w = tf.constant([[3.0],[4.0]]) #定义一个2阶张量等于[[3.0],[4.0]]
y = tf.matmul(x,w) #实现xw矩阵乘法
print y  #打印出结果

with tf.Session() as sess:
	print sess.run(y)  #执行会话并打印出执行后的结果

可以打印出这样的结果:
结果:Tensor(“matmul:0”,shape(1,1),dtype=float32)
[[11.]]
我们可以看到,运行Session()会话前只打印出y是个张量的提示,运行Session()会话后打印出了y的结果 1.03.0 + 2.04.0 = 11.0。
注(1):我们以后会常用到vim编辑器,为了使用方便,我们可以更改vim的配置文件,使vim的使用更加便捷。我们在vim~/.vimrc写入:
set ts = 4 (表示使Tab键等效为四个空格)
set nu (表示使vim显示行号 nu是number缩写)
注(2):在vim编辑器中运行Session()会话时,有时会出现“提示warning”,是因为有的电脑可以支持加速指令,但是运行代码是并没有启动这些指令,可以把这些“提示warning”暂时屏蔽掉。屏蔽方法为进入主目录下的bashrc文件,在bashrc文件中加入这样一句export TF_CPP_MIN_LOG_LEVEL=2,从而把“提示warning”等级降低。
这个命令可以控制python程序显示提示信息的等级,在Tensorflow里面一般设置是“0”(显示所有信息)或者“1”(不显示info),“2”代表不显示warning,“3”代表不显示error。一般不建议设置成3。
source 命令用于重新执行修改的初始化文件,使之立即生效,而不必注销并重新登录。

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

Tensorflow框架(张量、计算图、会话) 的相关文章

  • tomcat配置CA证书后,https的接口url请求很慢,大概率会超时

    背景 项目需要使用websocket长连接 走nginx反向代理会断开 所以决定要直连项目 websocket连接https需要使用wss 项目端口 8080 项目名 biubiu https证书端口 8443 https配置
  • Nginx(五)Nginx入门级配置与部署及“Hello World”

    转载自 http blog csdn net poechant article details 7049027 这一次我们要学习什么 就是用Nginx在一台机器上搭建一个最简单的显示 Hello World 的Web服务器 那我们就 ste
  • JavaScript设计模式(四)——策略模式、代理模式、观察者模式

    个人简介 个人主页 前端杂货铺 学习方向 主攻前端方向 正逐渐往全干发展 个人状态 研发工程师 现效力于中国工业软件事业 人生格言 积跬步至千里 积小流成江海 推荐学习 前端面试宝典 Vue2 Vue3 Vue2 3项目实战 Node js
  • 如何免费将本地服务映射到公网

    如何免费将本地服务映射到公网 内穿穿透原理解析 花生壳是一种基于 NAT 穿透的技术 可以让位于局域网内的设备通过一个公网 IP 地址访问互联网 具体来说 花生壳利用了 UDP 协议的特性 将内网设备的数据包通过一个中转服务器转发到公网上
  • Vue中缓存路由

    1 作用 让不展示的路由组件保持挂载 不被销毁 2 具体代码 2 1 缓存展示区所有组件
  • 服务器性能pdf,服务器性能计算方法.pdf

    一 数据库服务器性能计算需求分析 考虑到广州市公安局超级情报系统 SIS 设备升级项目的数据库 服务器的性能 我们建议采用主流的 T PC C值进行性能估算 TPC C 是一种旨在衡量联机事务处理 OLTP 系统性能与可 伸缩 性的行业标准
  • gcc make编译android,是用cmake编译openssl(支持android)

    openssl 首先openssl的源码 方案 这里用到了janbar的方案 且作者一直在更新 基本直接可以编译 设置到的主要的cmake文件 CMakeLists txt c rehash cmake crypto CMakeLists
  • Excel获取数值

    Excel获取数值篇 修复Cell getCellType方法过时问题 使用最新的类型方式获取 根据Excel单元格类型返回相对应的值 根据Excel单元格类型返回相对应的值 param cell return public static
  • NLP七十年!斯坦福教授Manning长文梳理

    作者 LRS 来源 新智元 从手工规则 神经网络到Transformer基础模型 自然语言处理的未来是统一多模态 走向通用人工智能 过去十年间 仅靠简单的神经网络计算 以及大规模的训练数据支持 自然语言处理领域取得了相当大的突破 由此训练得
  • vmware14 安装windows 11 注意事项

    1 正常创建虚拟机 系统选择window 10 x64 2 修改启动方式为UEFI 虚拟机设置 选项 高级 3 修改虚拟机配置 启用加密 虚拟机设置 选项 访问控制 启用加密 4 接下来正常安装即可 系统从微软官网下载
  • JedisPool链接未释放

    最近线上出现一个问题 一个接口一段时间后无响应 查看nginx日志499 502异常 zpp trade recharftenunt v1 qury HTTP 1 1 499 zpp trade recharftenunt v1 qury
  • 猫眼家APP广告变现:数据埋点在广告变现中的重要作用

    前言 数据埋点技术是一种收集用户行为数据并生成大量数据的方法 当用户在应用程序中执行操作时 代码会捕获并记录该操作 从而实现数据埋点 数据埋点对于实施APP广告变现策略至关重要 开发人员需要准确了解用户的行为习惯 兴趣和偏好 以提高广告变现
  • 基于Qt4+SQLite3的通信录

    首先申明 本文借鉴于 http blog csdn net jianchi88 article details 7052270 通信录实现的动能有 添加 查找 删除 但在页面效果上还不太美观 功能上没有去验证输入的信息的有效性 运行环境 u
  • 【FPGA零基础学习之旅#8】阻塞赋值与非阻塞赋值讲解

    欢迎来到FPGA专栏 阻塞赋值与非阻塞赋值 o o 嗨 我是小夏与酒 博客主页 小夏与酒的博客 该系列文章专栏 FPGA学习之旅 文章作者技术和水平有限 如果文中出现错误 希望大家能指正 欢迎大家关注 目录 阻塞赋值与非阻塞赋值 一 基础知
  • OceanBase 3.1.2版本测试报告

    测试场景 OLTP场景 测试工具使用的是开源版本BenchmarkSQL5 0 说明 我们已经通过修改源代码 实现了MySQL的支持 在单位进行分布式数据库POC选型时 都是使用该版本 集群拓扑及硬件配置信息 7台物理机 使用OBD直接部署
  • MySQL 中not in 查询为空

    MySQL not in踩坑 今天想用not in进行嵌套查询时 从逻辑上本应返回数据的结果却没有返回任何数据 查阅资料后找到原因 not in中 不能包含null值 如果包含null值 则直接返回空结果集 上代码
  • 计算二进制位"1"的个数

    写一个函数 返回数字中二进制位为 1 的个数 比如36 化为二进制得到100100 其中有2个 1 方法1 分别判断各个位 int bit count unsigned int n int count for count 0 n n gt
  • 最优服务次序问题(贪心法)

    最优服务次序问题 贪心法 问题描述 设有n个顾客同时等待一项服务 顾客i所需要的服务时间为ti 应如何安排顾客的服务次序 才能使平均等待时间最短 平均等待时间是n个顾客等待服务时间的总和除以n 解题思路 1 算法主要思想 本题我们直接采用贪
  • 【小白学习日记】如何使用matlab实现多矩阵排列组合

    matlab实现穷举法 今天在写程序时 需要实现一个穷举 即现有一个1 8的矩阵 第一个元素有四个值 第二到七个元素分别从0 1 1里面取值 要列出所有情况 即有8748种情况 在论坛上遇到一位提出利用ndgrid函数即可解决上述问题 原文
  • python关于字符串下面说法错误的是_Python计算机等级考试中易出错概念问题6(附答案),稳基,修炼,之,易错,含答案...

    1 关于Python对文件的处理 以下选项中描述错误的是 A Python能够以文本和二进制两种方式处理文件 B Python通过解释器内置的open 函数打开一个文件 C 当文件以文本方式打开时 读写按照字节流方式 D 文件使用结束后要用

随机推荐

  • Spring Boot静态资源访问和配置全解析

    一 默认静态资源映射规则 二 自定义静态资源映射规则 2 1 自定义静态资源映射类 2 2 在application properties中进行配置 2 2 1 配置静态资源访问路径 2 2 2 配置静态资源目录 原文 在web开发中 静态
  • 笔试真题之判断一个数字是否是素数(算法详解及python实现)

    题 explain 判断一个数字是否是素数 input 数字n output 如果是素数返回True 否则返回False 示例 判断112272535095293是否是素数 算法思想 首先判断是不是1或2 1不是素数 2是素数 其次判断是不
  • ts文件运行环境搭建和运行步骤

    1 全局安装 TypeScript 语言的编译器 window r gt cmd gt 命令提示行 下输入npm i g typescript 只需首次安装即可 2 在vscode的终端里先运行tsc init tsc是ts语言的编译器 如
  • C++初步

    定义一个命名空间Myspace 包含以下函数 将一个字符串中的所有单词进行反转 并输出反转后的结果 例如 输入字符串为 Hello World 输出结果为 olleH dlroW 并在主函数内测试该函数 include
  • node-sass安装失败番外篇

    node sass安装失败番外篇 工作 环境 错误现象 原因 总结 工作 环境 win10 npm 使用淘宝镜像源 错误现象 报错信息如下 我在不同电脑的不同 编辑器 webstom vscdoe cmd git bash 下显示的错误不太
  • MySQL学习总结--WAL日志

    MySQL学习总结 WAL日志 WAL redo log VS binlog 日志的两阶段提交 组提交机制 group commit redo log 重做日志 binlog 归档日志 binlog 的三种格式对比 WAL 导致了内存脏页
  • JS中用window.open()方式打开,使新页面全屏、居中的代码

    window open 的介绍 1 基本语法 window open pageURL name parameters 2 各项参数 其中yes no也可使用1 0 pixel value为具体的数值 单位象素 参数 取值范围 说明 alwa
  • 基于亚马逊云科技无服务器服务快速搭建电商平台——性能篇

    使用 Serverless 构建独立站的优势 在传统架构模式下 如果需要进行电商大促需要提前预置计算资源以支撑高并发访问 会造成计算资源浪费并且增加运维工作量 本文介绍一种新的部署方式 将 WordPress 和 WooCommerce 部
  • java实现“两数之和”

    java代码如下 import java util Arrays import java util HashMap import java util Map import java util Scanner 问题 两数之和 给定一个数组 和
  • 凸优化系列——约束优化问题

    1 KKT条件 局部最优解 全局最优解 严格最优解 注意几类非光滑函数的转化 约束优化最优解的特征 最优解的一阶必要条件 Karush Kuhn Tucker KKT条件
  • CentOS 7 源码制作openssh 9.4p1 rpm包 —— 筑梦之路

    参考之前的博客 centos 7 制作openssh8 7 8 8 8 9 9 0 9 1 9 2 9 3 p1 rpm包升级 筑梦之路 openssh rpm包 筑梦之路的博客 CSDN博客 需要说明的是9 4版本必须要openssl 1
  • Windows2003系统漏洞提权复现

    操作系统 Microsoft Windows Server 2003 Web服务器 IIS V6 0 第一步 将大马文件上传至服务器根目录 第二步 访问大马文件 进入大马的控制界面 第三步 查看漏洞补丁信息 第四步 上传漏洞工具 将提权工具
  • 在Vue2项目中使用Vant组件库

    Vant 2 Mobile UI Components built on Vuehttps vant contrib gitee io vant v2 zh CN home1 安装vant包 Vue2项目下必须这么写 不能直接写npm i
  • MySQL 排序

    排序数据 1 排序规则 使用ORDER BY 字句排序 在其后面加所需字段 ASC ascend 升序 DESC descend 降序 ORDER BY 字句在SELECT语句的结尾 注意 数据库中默认按照先后添加顺序存储数据 在查询时 也
  • python中的sort的用法

    一 sort的两种用法 1 a sort 对原列表进行原址排序 原址排序的意思是原列表被改变了 排序的规则 数字 字符串按照ASCII 中文按照unicode从小到大排序 a 2 3 6 7 1 a sort print a 1 2 3 6
  • chrony系统授时时,几条重要命令输出信息的含义

    原文 https docs fedoraproject org en US Fedora 18 html System Administrators Guide sect Checking if chrony is synchronized
  • 确定你的public继承塑模出is-a关系——条款32

    如果你令class D Derived 以public形式继承class B Base 你便是告诉C 编译器 以及你的代码读者 说 每一个类型为D的对象同时也是一个类型为B的对象 反之不成立 你的意识是B比D表现出更一般化的概念 而D比B表
  • 开关电源-电容

    电子元器件 电容 1 电容是电路中重要的元件 种类多 用途广 主要有插件类和贴片类两种 2 电容主要特性参数 标称容量 耐压 误差 温度 2 1电容容量常用单位有微法 uF 纳法 nF 皮法 pF 单位换算 luF 103nF 106pF
  • 【数模】编码的传输问题 Huffman算法编程实现(matlab)

    编码的传输问题 利用Huffman算法编程实现以下问题 已知字母A B C D E F出现的概率 字母 概率 A 35 B 10 C 20 D 10 E 20 F 5 哈夫曼编码基础知识复习 哈夫曼编码 Huffman Coding 又称霍
  • Tensorflow框架(张量、计算图、会话)

    张量 计算图 会话 人工智能实践 Tensorflow笔记 Tensorflow框架 张量 计算图 会话 基于Tensorflow的NN 神经网络 用张量表示数据 用计算图搭建神经网络 用会话执行计算图 优化线上的权重 参数 得到模型 张量