tensorflow常用函数解释
从二维数组中选一个矩形
import tensorflow as tf
data = [[1,2,3,4,5,6,7,8],[11,12,13,14,15,16,17,18]]
x = tf.strided_slice(data,[0,0],[2,4])
with tf.Session() as sess:
print(sess.run(x))
numpy array转tensor
import tensorflow as tf
import numpy as np
A = list([1, 2, 3])
B = np.array([1, 2, 3])
C = tf.convert_to_tensor(A)
D = tf.convert_to_tensor(B)
with tf.Session() as sess:
print(type(A))
print(type(B))
print(C.eval())
print(D.eval())
tf.train.Supervisor 用法
http://www.cnblogs.com/zhouyang209117/p/7088051.html
使用训练好的模型
import tensorflow as tf
import numpy as np
import os
log_path = r"D:\Source\model\linear"
log_name = "linear.ckpt"
# Create 100 phony x, y data points in NumPy, y = x * 0.1 + 0.3
x_data = np.random.rand(100).astype(np.float32)
y_data = x_data * 0.1 + 0.3
# Try to find values for W and b that compute y_data = W * x_data + b
# (We know that W should be 0.1 and b 0.3, but TensorFlow will
# figure that out for us.)
W = tf.Variable(tf.random_uniform([1], -1.0, 1.0))
b = tf.Variable(tf.zeros([1]))
y = W * x_data + b
# Minimize the mean squared errors.
loss = tf.reduce_mean(tf.square(y - y_data))
optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(loss)
# Before starting, initialize the variables. We will 'run' this first.
saver = tf.train.Saver()
init = tf.global_variables_initializer()
# Launch the graph.
sess = tf.Session()
sess.run(init)
if len(os.listdir(log_path)) != 0: # 已经有模型直接读取
saver.restore(sess, os.path.join(log_path, log_name))
for step in range(201):
sess.run(train)
if step % 20 == 0:
print(step, sess.run(W), sess.run(b))
saver.save(sess, os.path.join(log_path, log_name))
数组添加一列
import tensorflow as tf
a = [[1], [2], [3]]
b = [[1, 2, 3, 4], [1, 3, 6, 7], [4, 2, 1, 6]]
sess = tf.Session()
print(sess.run(tf.concat([a, b], 1)))
结果为:
[[1 1 2 3 4]
[2 1 3 6 7]
[3 4 2 1 6]]
一维数组合成二维数组,二维数组拆分成一维数组
import tensorflow as tf
x = tf.constant([1, 2, 3])
y = tf.constant([4, 5, 6])
z = tf.constant([7, 8, 9])
p = tf.stack([x, y, z])
sess = tf.Session()
print(sess.run(p))
print(sess.run(tf.unstack(p, num=3, axis=0)))
tf.gather从数组中选出几个元素
import tensorflow as tf
sess = tf.Session()
params = tf.constant([6, 3, 4, 1, 5, 9, 10])
indices = tf.constant([2, 0, 2, 5])
output = tf.gather(params, indices)
print(sess.run(output))
sess.close()
expand_dims
它指定维前面增加一维
# coding:utf8
import tensorflow as tf
import numpy as np
sess = tf.Session()
data = tf.constant([[1, 2, 1], [3, 1, 1]])
print(sess.run(tf.shape(data))) #(2,3)
d_1 = tf.expand_dims(data, 0) # (1,2,3)
d_1 = tf.expand_dims(d_1, 2) # (1,2,1,3)
d_1 = tf.expand_dims(d_1, -1) # (1,2,1,3,1)
d_1 = tf.expand_dims(d_1, -1) # (1,2,1,3,1,1)
print(sess.run(tf.shape(d_1)))
d_2 = d_1
print(sess.run(tf.shape(tf.squeeze(d_1))))
print(sess.run(tf.shape(tf.squeeze(d_2, [2, 4]))))
squeeze
和expand_dims的作用相反,去掉指定维,指定维的长度必须为1.
a = np.random.random((50, 1, 64))
b = tf.convert_to_tensor(a)
c = tf.squeeze(b, squeeze_dims=(1,))
with tf.Session() as sess:
print(c.eval())
split
把二维数组拆分成多个一维数组.
# coding:utf8
import tensorflow as tf
sess = tf.Session()
input = tf.random_normal([5, 30])
print(sess.run(tf.shape(input))[0] / 5)
split0, split1, split2, split3, split4 = tf.split(0, 5, input) # 二维数组变成多个一维数组
print(sess.run(tf.shape(split0)))
按第0维拆分,拆分成5个(1,30)的数组.
列出所有训练的变量
for var in tf.trainable_variables():
print("name={},shape={}".format(var.name, var.get_shape()))
tensorflow常用函数解释的更多相关文章
- 深度学习TensorFlow常用函数
tensorflow常用函数 TensorFlow 将图形定义转换成分布式执行的操作, 以充分利用可用的计算资源(如 CPU 或 GPU.一般你不需要显式指定使用 CPU 还是 GPU, Tensor ...
- TensorFlow 常用函数汇总
本文介绍了tensorflow的常用函数,源自网上整理. TensorFlow 将图形定义转换成分布式执行的操作, 以充分利用可用的计算资源(如 CPU 或 GPU.一般你不需要显式指定使用 CPU ...
- TensorFlow 常用函数与方法
摘要:本文主要对tf的一些常用概念与方法进行描述. tf函数 TensorFlow 将图形定义转换成分布式执行的操作, 以充分利用可用的计算资源(如 CPU 或 GPU.一般你不需要显式指定使用 CP ...
- TensorFlow常用函数
[1]卷积层(Convolutional Layer),构建一个2维卷积层,常用的参数有 conv = tf.layers.conv2d( inputs=pool, filters=64, kerne ...
- Tensorflow常用函数说明(一)
首先最开始应该清楚一个知识,最外面的那个[ [ [ ]]]括号代表第一维,对应维度数字0,第二个对应1,多维时最后一个对应数字-1:因为后面有用到 1 矩阵变换 tf.shape(Tensor) 返回 ...
- tensorflow常用函数解析
一.tf.transpose函数的用法 tf.transpose(input, [dimension_1, dimenaion_2,..,dimension_n]):这个函数主要适用于交换输入张量的不 ...
- tensorflow sigmoid_cross_entropy_with_logits 函数解释
tf.nn.sigmoid_cross_entropy_with_logits(_sentinel=None,labels=None, logits=None, name=None) sigmoid_ ...
- Tensorflow常用函数说明
1.矩阵操作 1.1矩阵生成 这部分主要将如何生成矩阵,包括全0矩阵,全1矩阵,随机数矩阵,常数矩阵等 sess=tf.InteractiveSession() #x=tf.ones([2,3],tf ...
- tensorflow常用函数(二)
一.变量相关的函数 1)tf.train.list_variables(ckpt_dir_or_file) Returns list of all variables in the checkp ...
随机推荐
- 简单的倒叙应用---倒序打印字符串(C语言)
void reverseStr(char* str){ if(*str=='\0'){ return; } reverseStr(str+1); printf("%c\n",*st ...
- Java内存模型与volatile关键字
Java内存模型与volatile关键字 一).并发程序开发 并行程序的开发要涉及多线程.多任务间的协作和数据共享问题. 常用的并发控制:内部锁.重入锁.读写锁.信号量. 二).线程的特点 线程的特点 ...
- 缓冲&缓存&对象池概念的理解
一).缓冲 作用:缓解程序上下层之间的性能差异. 1).当上层组件的性能优于下层组件时加入缓冲机制可以减少上层组件对下 层组件的等待时间. 2).上层组件不需要等待下层组件接收全部数据,即可返回操作, ...
- vim常用命令集合(精心整理)
vim编辑器身为一个强大的linux平台编辑器,我就不多说他强大之处了,直接来简述下常用命令,提高自己使用编辑器的效率. 然后就先说下vim编辑器的模式,有的地方说三种,有的地方说两种,教程是按照两种 ...
- 执行yaml.load()出现警告信息:YAMLLoadWarning: callingyaml.load() without Loader=..
执行yaml.load()出现警告信息:YAMLLoadWarning: callingyaml.load() without Loader=... 原因: yaml5.1版本后弃用了yaml.loa ...
- opencv resize图片为正方形尺寸
在深度学习中,模型的输入size通常是正方形尺寸的,比如300 x 300这样.直接resize的话,会把图像拉的变形.通常我们希望resize以后仍然保持图片的宽高比. 例如: 如果直接resize ...
- 基于loghub的消息消费延迟监控
我们可以把loghub当作一个消息中间件来使用.如果能知道当前的消费进度,自然好了,否则消费情况一无所知,总是有点慌! loghub消费分两种情况,一是普通消费,二是消费组消费: 消费组消费,logh ...
- RobotFramework自动化测试框架-Selenium Web自动化(三)关于在RobotFramework中如何使用Selenium很全的总结(下)
本文紧接着RobotFramework自动化测试框架-Selenium Web自动化(二)关于在RobotFramework中如何使用Selenium很全的总结(上)继续分享RobotFramewor ...
- 微服务 consul使用
前言 常见的注册中心有zookeeper .eureka.consul.etcd.从生态发展.便利性.语言无关性等角度来综合考量,选择consul,多数据中心支持,支持k-v能力,可扩展为配置中心.g ...
- OSI层次模型
ISO:国际标准化组织 层(layer):描述所有的有效的通讯过程,并把逻辑上的组叫做层. 分层优点: 促进标准化工作,允许各个供应商进行开发 各层之间相互独立,把网络操作分成低复杂度性单元 灵活性好 ...