tensorflow常用函数(一)

摘要:
维数_ N是整数。如果张量是三维的,则用0,1,2表示。此列表中的每个数字都对应于相应的维度。importnumpyasnpimporttensorflowstfA=np.arrayx=tf转置B=np.arryy=tf转置tf.Session()评估:printprintprintA:[[123][456]]新_ A:[[14][25][36]]B:[[[123][456]]新_ B:[[1][4][2][53]][3][6]分析和理解:对于第一个二维矩阵A,它相对简单,即普通转置。

一、tf.transpose函数的用法

tf.transpose(input, [dimension_1, dimenaion_2,..,dimension_n]):这个函数主要适用于交换输入张量的不同维度用的,如果输入张量是二维,就相当是转置。dimension_n是整数,如果张量是三维,就是用0,1,2来表示。这个列表里的每个数对应相应的维度。如果是[2,1,0],就把输入张量的第三维度和第一维度交换。

import numpy as np
import tensorflow as tf

A = np.array([[1,2,3],[4,5,6]])
x = tf.transpose(A, [1,0])

B = np.array([[[1,2,3],[4,5,6]]])
y = tf.transpose(B, [2,1,0])

with tf.Session() as sess:
    print("A:
",A)
    print("new_A:
",sess.run(x))
    print("B:
",B)
    print("new_B:
",sess.run(y))

A:
[[1 2 3]
[4 5 6]]


new_A:
[[1 4]
[2 5]
[3 6]]


B:
[[[1 2 3]
  [4 5 6]]]


new_B:
[[[1]
  [4]]

[[2]
  [5]]

[[3]
  [6]]]

分析理解:对于第一个二维矩阵A来说就比较简单了,就是普通的转置。对于第二个三维变量B,在转置前可以理解为是1片2*3的矩阵,而转置操作要求第一维和第三维置换,那就是要变成3片2*1的矩阵,这样就好理解了,输出结果正是3片1*2的矩阵

 二、tf.argmax函数用法

该函数就是找出每行或者每列的最大值所在的索引值,第二个参数为表示按行查找还是按列查找,1-按行,0-按列。

import tensorflow as tf

C=[[9,8,3],[1,7,2]]

with tf.Session() as sess:
    print(sess.run(tf.argmax(C,1)))
 [0 1]
 
三、tf.equal函数
 
vimport tensorflow as tf
import numpy as np

A = [[1,3,4,5,6]]
B = [[1,3,4,3,2]]

with tf.Session() as sess:
    print(sess.run(tf.equal(A, B)))

输出:    [[ True  True  True False False]]

四、tf.reduce_mean函数

A = [[1,3,4,5,6]]
B = [[1,3,4,3,2]]
correctPred
=tf.equal(A,B) accuracy = tf.reduce_mean(tf.cast(correctPred, tf.float32)) with tf.Session() as sess: print(sess.run(accuracy))

输出:0.6  

解析:根据上述输出,3个为True,所以accuracy=3/5=0.6

免责声明:文章转载自《tensorflow常用函数(一)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇关于JavaScript的数组随机排序使用Java语言开发微信公众平台(五)——获取access_token下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

GitHub:超分辨率最全资料集锦

前言本文将分享的内容是:超分辨率(Super Resolution,SR)最全资料合集,涵盖了SISR、VSR等。在这里插入图片描述一张图看懂超分辨率SR作用注:文末附超分辨率SR微信交流群,欢迎加入学习Awesome-Super-Resolution    项目作者:ChaofWang Star    数量:636 Commit    数量:120htt...

玩转StyleGan2:手把手教你安装并运行项目!

时间过得是真快,离上次分享《用AI生成一堆漂亮且独一无二的女朋友!》已经快过去半个多月了。光分享效果,而不分享如何实现,这不是我的风格。所以从今天开始,我会带大家一起玩转这个强大的高清人脸生成项目(不懂开源项目的可以理解为软件)。 目前规划了几个主题 1. 安装并运行 2. 虚拟人脸编辑,操控虚拟人物表情 3. 真实人脸编辑,操控任何人的表情。 4. 云端...

Tensorflow模型加载与保存、Tensorboard简单使用

先上代码: from __future__ importabsolute_import from __future__ importdivision from __future__ importprint_function #-*- coding: utf-8 -*- """Created on Tue Nov 14 20:34:00 2017 @aut...

tensorflow与numpy的版本兼容性问题

在Python交互式窗口导入tensorflow出现了下面的错误: root@ubuntu:~# python3 Python 3.6.8 (default, Oct 7 2019, 12:59:55) [GCC 8.3.0] on linux Type "help", "copyright", "credits" or "license" for...

tensorflow2中以复制方式扩展tensor —— tf.tile()

tensorflow2.0环境下,以复制方式扩展tensor,可以使用tf.tile()函数。 该函数定义如下(图自官网):https://www.tensorflow.org/api_docs/python/tf/keras/backend/tile tf.tile()可以沿着某个维度对tensor进行指定倍数的复制,如下所示: import tenso...

神经网络中的降维和升维方法 (tensorflow & pytorch)

  大名鼎鼎的UNet和我们经常看到的编解码器模型,他们的模型都是先将数据下采样,也称为特征提取,然后再将下采样后的特征恢复回原来的维度。这个特征提取的过程我们称为“下采样”,这个恢复的过程我们称为“上采样”,本文就专注于神经网络中的下采样和上采样来进行一次总结。写的不好勿怪哈。 神经网络中的降维方法 池化层   池化层(平均池化层、最大池化层),卷积...