一些python函数及其用法
1.np.ravel()方法
ravel是將數組維度拉成一維數組,也就是將矩陣向量化
輸出
[ 1 2 3 4 5 6 ]2.b = a[np.newaxis,:]
import numpy as np a = np.arange(0, 10) print('a.shape',a.shape) print('a',a) b = a[np.newaxis,:] c = a[:,np.newaxis] print('b.shape',b.shape) print('b',b) print('c.shape',c.shape) print('c',c)輸出:
a.shape (10,) a [0 1 2 3 4 5 6 7 8 9] b.shape (1, 10) b [[0 1 2 3 4 5 6 7 8 9]] c.shape (10, 1) c [[0][1][2][3][4][5][6][7][8][9]]3.tf.device()
使用 tf.device() 指定模型運行的具體設備,可以指定運行在GPU還是CPU上,以及哪塊GPU上。
使用 tf.device(’/gpu:1’) 指定Session在第二塊GPU上運行
tensorflow中不同的GPU使用/gpu:0和/gpu:1區分,而CPU不區分設備號,統一使用 /cpu:0
4.tf.train.RMSPropOptimizer
是一種優化算法,有很多種優化算法,具體見下面這個文檔,有空好好學習下
https://www.cnblogs.com/bigcome/p/10084220.html
5.tf.train.Coordinator()
TensorFlow提供了兩個類來實現對Session中多線程的管理:tf.Coordinator和 tf.QueueRunner,這兩個類往往一起使用。
Coordinator類用來管理在Session中的多個線程,可以用來同時停止多個工作線程并且向那個在等待所有工作線程終止的程序報告異常,該線程捕獲到這個異常之后就會終止所有線程。使用 tf.train.Coordinator()來創建一個線程管理器(協調器)對象。
QueueRunner類用來啟動tensor的入隊線程,可以用來啟動多個工作線程同時將多個tensor(訓練數據)推送入文件名稱隊列中,具體執行函數是 tf.train.start_queue_runners , 只有調用 tf.train.start_queue_runners 之后,才會真正把tensor推入內存序列中,供計算單元調用,否則會由于內存序列為空,數據流圖會處于一直等待狀態。
6.os.path.exists()
os.path.exists()就是判斷括號里的文件是否存在的意思,括號內的可以是文件路徑。
7.python中[-1]、[:-1]、[::-1]、[2::-1]的使用方法
import numpy as np a=[1,2,3.4,5] print(a) [ 1 2 3 4 5 ]print(a[-1]) ###取最后一個元素 [5]print(a[:-1]) ### 除了最后一個取全部 [ 1 2 3 4 ]print(a[::-1]) ### 取從后向前(相反)的元素 [ 5 4 3 2 1 ]print(a[2::-1]) ### 取從下標為2的元素翻轉讀取 [ 3 2 1 ]8.np.vstack
np.vstack:按垂直方向(行順序)堆疊數組構成一個新的數組
c = np.vstack((a,b)) # 將兩個(1,3)形狀的數組按垂直方向疊加
print(c) c.shape # 輸出形狀為(2,3) [[1 2 3] [4 5 6]] Out[6]:(2, 3)In [7]: a = np.array([[1],[2],[3]]) a.shape Out[7]:(3, 1)In [9]: b = np.array([[4],[5],[6]]) b.shape Out[9]:(3, 1)In [10]: c = np.vstack((a,b)) # 將兩個(3,1)形狀的數組按垂直方向疊加 print(c) c.shape # 輸出形狀為(6,1) [[1] [2] [3] [4] [5] [6]] Out[10]:(6, 1)總結
以上是生活随笔為你收集整理的一些python函数及其用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Opnet入门
- 下一篇: 电脑上如何设置路由器电脑如何配置路由器