1. 程式人生 > >tf.argmax()以及axis解析

tf.argmax()以及axis解析

轉:https://blog.csdn.net/qq575379110/article/details/70538051

用tensorflow做CNN_TEXT文字分類時,看到這個API,然後去官網查了一下,再看了一下別的資料,算是明白它的處理方式了。

  首先,明確一點,tf.argmax可以認為就是np.argmax。tensorflow使用numpy實現的這個API。 
   
  簡單的說,tf.argmax就是返回最大的那個數值所在的下標。 
   
  這個很好理解,只是tf.argmax()的引數讓人有些迷惑,比如,tf.argmax(array, 1)和tf.argmax(array, 0)有啥區別呢? 
   
  這裡面就涉及到一個概念:axis。上面例子中的1和0就是axis。我先籠統的解釋這個問題,設定axis的主要原因是方便我們進行多個維度的計算。

  在例項面前,再多的語言都是蒼白的呀,上例子!

  比如:

test = np.array([[1, 2, 3], [2, 3, 4], [5, 4, 3], [8, 7, 2]])
np.argmax(test, 0)   #輸出:array([3, 3, 1]
np.argmax(test, 1)   #輸出:array([2, 2, 0, 0]
  • 1
  • 2
  • 3

  啥意思呢?

  • axis = 0: 
      你就這麼想,0是最大的範圍,所有的陣列都要進行比較,只是比較的是這些陣列相同位置上的數:
test[0] = array([1, 2, 3])
test[1] = array([2, 3, 4])
test[2] = array
([5, 4, 3]) test[3] = array([8, 7, 2]) # output : [3, 3, 1]
  • 1
  • 2
  • 3
  • 4
  • 5
  • axis = 1: 
      等於1的時候,比較範圍縮小了,只會比較每個陣列內的數的大小,結果也會根據有幾個陣列,產生幾個結果。
test[0] = array([1, 2, 3])  #2
test[1] = array([2, 3, 4])  #2
test[2] = array([5, 4, 3])  #0
test[3] = array([8, 7, 2])  #0
  • 1
  • 2
  • 3
  • 4

  這是裡面都是陣列長度一致的情況,如果不一致,axis最大值為最小的陣列長度-1,超過則報錯。 
  當不一致的時候,axis=0的比較也就變成了每個陣列的和的比較。


相關推薦

tf.argmax()以及axis解析

轉:https://blog.csdn.net/qq575379110/article/details/70538051用tensorflow做CNN_TEXT文字分類時,看到這個API,然後去官網查了一下,再看了一下別的資料,算是明白它的處理方式了。  首先,明確一點,tf

tf.argmaxaxis理解

import tensorflow as tf tf.enable_eager_execution() value = [[0, 1, 2, 3], [4, 5, 6, 7]] init = tf.constant_initializer(value) x = tf.

安卓數據解析之 fastjson 的解析以及Gson解析

ati gen post 解析 lsm tid ado ogl context 在安卓開發過程中的。我們經常使用的數據傳遞是以json格式傳遞。安卓 親爹提供了我們Gson解析工具。點擊下載Gson.jar 阿裏巴巴FastJson是一個Json處

2 XML 以及XML解析

instance 一個 修改 字符 pretty 沒有 tom 元素 描述 一、XML 1.XML:傳輸數據和保存數據 特點:有且只有一個根元素,xml結構為樹形結構 2.XML文檔結構分析(一切皆節點) 接口Node 子接

tf.slice函數解析

follow 解析 偏移 輸入參數 一起 類型 name 操作 開始 tf.slice函數解析 覺得有用的話,歡迎一起討論相互學習~Follow Me tf.slice(input_, begin, size, name = None) 解釋 :這個函數的作用是從輸入數據i

tf.Variable、tf.get_variable、tf.variable_scope以及tf.name_scope關系

str constant 情況下 變量 shape 可選 指定 選項 命名 1. tf.Variable與tf.get_variable tensorflow提供了通過變量名稱來創建或者獲取一個變量的機制。通過這個機制,在不同的函數中可以直接通過變量的名字來使用變量,而不需

CopyOnWriteArrayList實現原理以及原始碼解析

CopyOnWriteArrayList實現原理以及原始碼解析 1、CopyOnWrite容器(併發容器) Copy-On-Write簡稱COW,是一種用於程式設計中的優化策略。 其基本思路是,從一開始大家都在共享同一個內容,當某個人想要修改這個內容的時候,才

LinkedList實現原理以及原始碼解析(1.7)

LinkedList實現原理以及原始碼解析(1.7) 在1.7之後,oracle將LinkedList做了一些優化, 將1.6中的環形結構優化為了直線型了連結串列結構。 1、LinkedList定義: public class LinkedList<E>

ArrayList實現原理以及原始碼解析(補充JDK1.7,1.8)

ArrayList實現原理以及原始碼解析(補充JDK1.7,1.8) ArrayList的基本知識在上一節已經討論過,這節主要看ArrayList在JDK1.6到1.8的一些實現變化。 JDK版本不一樣,ArrayList類的原始碼也不一樣。 1、ArrayList類結構:

ArrayList實現原理以及原始碼解析(JDK1.6)

ArrayList實現原理以及原始碼解析(JDK1.6) 1、ArrayList ArrayList是基於陣列實現的,是一個動態陣列,其容量能自動增長,類似於C語言中的動態申請記憶體,動態增長記憶體。 ArrayList不是執行緒安全的,只能用在單執行緒環境下。

ConcurrentHashMap實現原理以及原始碼解析

ConcurrentHashMap實現原理以及原始碼解析 ConcurrentHashMap是Java1.5中引用的一個執行緒安全的支援高併發的HashMap集合類。 1、執行緒不安全的HashMap 因為多執行緒環境下,使用Hashmap進行put操作會引起死迴圈

哈夫曼編碼計算問題以及報文解析

已知某字串S中共有8種字元,各種字元分別出現2次、1次、4次、5次、7次、3次、4次和9次,對該字串進行哈夫曼,問該字串的編碼至少有多少位? 我們首先構造一個哈夫曼樹:    其中編碼位數就是出現 次數×編碼位(bit)  也就是2×5+1×5+4×3+5×3+

tensorflow tf.argmax() 用法 例子

轉自:https://blog.csdn.net/Jiaach/article/details/78874704 argmax()官方文件如下: tf.argmax(input, dimension, name=None)  Returns the index with t

tf.argmax() tf.equal() tf.nn.softmax() eval tf.random_normal tf.reduce_mean tf.reduce_sum

先講幾個 函式 然後用程式碼測試一下 tf.reduce_sum input_tensor沿著給定的尺寸縮小axis。除非keepdims是真的,否則每個條目的張量等級減少1 axis。如果keepdims為真,則縮小尺寸將保留長度為1。 如果axis為None,則減小所有尺寸,並返

對tensorflow中張量tensor的理解與tf.argmax()函式的用法

對tensorflow中張量tensor的理解: 一維張量: 如a=[1., 2., 3., 0., 9., ],其shape為(5,),故當我們選擇維度0時(張量的維度總是從第0個維度開始),實際上是在a的最外層括號上進行操作。 我們畫圖來表示: 二維張量: 如b=[

Spring基於註解的Aop實戰以及原理解析

一.新增依賴包    <!-- https://mvnrepository.com/artifact/org.springframework/spring-context --> <dependency> <groupId>org.spring

tf.layers.conv1d函式解析(一維卷積)

一維卷積一般用於處理文字,所以輸入一般是一段長文字,就是詞的列表   函式定義如下: tf.layers.conv1d( inputs, filters, kernel_size, strides=1, padding='valid', data_format='chann

Centos下配置網路以及域名解析

修改ip地址 編輯 /etc/sysconfig/network-scripts/ifcfg-XX(有的電腦可能有兩個網絡卡,這裡有可能多個檔案) TYPE=Ethernet BOOTPROTO=static 靜態ip DEFROUTE=yes IPV4_FAILURE_FATAL

tensorflow對tf.argmax()的理解

在tensorflow中,axis=1對列進行操作,axis=0對行進行操作 例如,argmax中axis=1就是對(每行中)不同列元素進行比較,得到最大值。 a = [[0, 0, 0, 1, 0, 0], [0, 0, 1, 0, 0, 0], [0, 1, 0

tf.argmax(array, 1)函式用法

除了知道返回是座標,還須記得: tf.argmax(array, 1) 指的是 axis=1 tf.argmax(array)預設axis=0   import numpy as np import tensorflow as tf c = np.array([