python各框架和模組對矩陣的運算比較

2021-08-03 09:36:36 字數 1864 閱讀 4606

最近在學習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...