最近在學習numpy,pandas,tensorflow和pytorch,突然想試試各種不同的方法對矩陣的運算效率如何,以下是**:
import tensorflow as tf
import pandas as pd
import torch
import time
import numpy as np
import os
os.environ['tf_cpp_min_log_level'] = '2'
#mac os 下有乙個警告可以通過這個語句使之不顯
print('**********====tensorflow**********====')
mat_1 = tf.constant(np.arange(12).reshape(3,4).astype(np.float32))
mat_2 = tf.constant(np.arange(12).reshape(4,3).astype(np.float32))
start = time.time()
product = tf.matmul(mat_1,mat_2)
sess = tf.session()
res = sess.run(product)
print(res)
end = time.time()
print('run rime = ',end-start)
print()
print('**********====pytorch**********====')
x = torch.from_numpy(np.arange(12).reshape(3,4).astype(np.float32))
y = torch.from_numpy(np.arange(12).reshape(4,3).astype(np.float32))
start = time.time()
z = torch.mm(x,y)
print(z)
end = time.time()
print('run rime = ',end-start)
print()
print('**********====pandas**********====')
x = pd.dataframe(np.arange(12).reshape(3,4).astype(np.float32))
y = pd.dataframe(np.arange(12).reshape(4,3).astype(np.float32))
start = time.time()
z = x.dot(y)
print(z)
end = time.time()
print('run rime = ',end-start)
print()
print('**********====numpy**********====')
x = np.arange(12).reshape(3,4).astype(np.float32)
y = np.arange(12).reshape(4,3).astype(np.float32)
start = time.time()
z = x.dot(y)
print(z)
end = time.time()
print('run rime = ',end-start)
print()
以下是執行結果:
可以看到pytorch確實比tensorflow對矩陣的運算效率要高不少。
Tornado模組分類和各模組之間的關係
1.core web framework tornado.httpserver 乙個無阻塞http伺服器的實現 tornado.template 模版系統 tornado.escape html,json,urls等的編碼解碼和一些字串操作 tornado.locale 國際化支援 2.asynch...
python模組 包 庫 框架
自我包含並且有組織的 片段為模組。表現形式為 寫的 儲存為檔案。這個檔案就是乙個模組。sample.py 其中檔名smaple為模組名字。包是乙個有層次的檔案目錄結構,它定義了由n個模組或n個子包組成的python應用程式執行環境。通俗一點 包是乙個包含 init py 檔案的目錄,該目錄下一定得有...
python 模組和包 python模組和包
一.模組 python 模組 module 是乙個 python 檔案,以 py 結尾,包含了 python 物件定義和python語句。模組能定義函式,類和變數,模組裡也能包含可執行的 二.匯入模組 1.語法 import模組名from 模組名 import功能名from 模組名 import i...