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