博客
关于我
tensorflow入门变量常量
阅读量:353 次
发布时间:2019-03-04

本文共 1308 字,大约阅读时间需要 4 分钟。

TensorFlow入门

TensorFlow 是一个开源的深度学习框架,最初由 Google 开发,现由社区维护。它以灵活的计算图和易于使用的API著称,适用于机器学习和深度学习任务。

常量与变量

TensorFlow 中,常量和变量的定义有明确区别。常量使用 tf.constant() 定义,值在定义时就确定下来。变量则使用 tf.Variable() 定义,其值可以通过训练改变。

示例代码

import tensorflow as tf# 定义常量data1 = tf.constant(2, dtype=tf.int32)# 定义变量data2 = tf.Variable(10, name='var')print(data1)print(data2)

输出结果

tf.Tensor(2, shape=(), dtype=int32)tf.Variable 'var:0' shape=() dtype=int32, numpy=10

注意事项

所有使用变量的操作都需要在 Session 中初始化。正确的做法是:

import tensorflow as tf# 定义变量data2 = tf.Variable(10, name='var')# 初始化变量sess = tf.Session()init = tf.global_variables_initializer()sess.run(init)# 使用变量print(sess.run(data2))

版本问题及解决方案

如果你使用的是 TensorFlow 2.1.0,可能会遇到 Session 未定义的错误。解决方法是切换到 TensorFlow 1.14.0:

conda install -n tensorflow tensorflow==1.14.0

变量初始化

确保在使用变量之前对其进行初始化,否则会抛出 FailedPreconditionError

import tensorflow as tf# 定义变量data2 = tf.Variable(10, name='var')# 初始化变量sess = tf.Session()init = tf.global_variables_initializer()sess.run(init)print(sess.run(data2))

TensorFlow运算原理

TensorFlow 的本质是张量 Tensor 加上计算图 Graph。张量是数据,图则是操作。通过 Session 执行计算图,实现数据操作。

关闭Session

记得在使用完 Session 后关闭它:

with sess:    # 初始化变量    init = tf.global_variables_initializer()    sess.run(init)    # 打印变量值    print(sess.run(data2))

TensorFlow核心原理

TensorFlow 的核心是张量和计算图。张量表示数据,图表示操作。通过定义计算图,TensorFlow 可以自动执行任务。

转载地址:http://dyfr.baihongyu.com/

你可能感兴趣的文章
Nginx的可视化神器nginx-gui的下载配置和使用
查看>>
Nginx的是什么?干什么用的?
查看>>
Nginx访问控制_登陆权限的控制(http_auth_basic_module)
查看>>
nginx负载均衡器处理session共享的几种方法(转)
查看>>
nginx负载均衡的5种策略(转载)
查看>>
nginx负载均衡的五种算法
查看>>
Nginx运维与实战(二)-Https配置
查看>>
Nginx配置ssl实现https
查看>>
Nginx配置TCP代理指南
查看>>
Nginx配置——不记录指定文件类型日志
查看>>
Nginx配置代理解决本地html进行ajax请求接口跨域问题
查看>>
Nginx配置参数中文说明
查看>>
Nginx配置好ssl,但$_SERVER[‘HTTPS‘]取不到值
查看>>
Nginx配置如何一键生成
查看>>
Nginx配置实例-负载均衡实例:平均访问多台服务器
查看>>
NHibernate学习[1]
查看>>
NIFI1.21.0_Mysql到Mysql增量CDC同步中_日期类型_以及null数据同步处理补充---大数据之Nifi工作笔记0057
查看>>
NIFI1.21.0_NIFI和hadoop蹦了_200G集群磁盘又满了_Jps看不到进程了_Unable to write in /tmp. Aborting----大数据之Nifi工作笔记0052
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增删改数据分发及删除数据实时同步_通过分页解决变更记录过大问题_02----大数据之Nifi工作笔记0054
查看>>
NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置binlog_使用处理器抓取binlog数据_实际操作01---大数据之Nifi工作笔记0040
查看>>