NumSharp  - Numerical .NET

NumPy是在python中處理數據的最基本和最強大的包。 若是您打算從事數據分析或機器學習項目,那麼對numpy的充分理解幾乎是必須的。 其餘用於數據分析的軟件包(如pandas)是創建在numpy之上,用於構建機器學習應用的scikit-learn軟件包也在numpy上運行。 但對於.NET開發人員來講,卻沒有這樣的強大工具庫。 雖然有像Deedle和Math.NET這樣的開源庫,但它們不是很容易使用,也不能借用不少現有的python代碼。python

NumSharp(Numerical .NET)能夠說是C#中的線性代數庫。 它是用C#編寫的,符合.netstandard 2.0庫標準。 它的目標是讓.NET開發人員使用NumPy的語法編寫機器學習代碼,從而最大限度地借鑑現有大量在python代碼的轉譯成本。 NumSharp使用最新的Span技術安全高效地訪問內存,優化每一個模擬API的性能,確保最底層的NDArray達到最佳性能狀態。NumSharp對於在數組上執行數學和邏輯運算很是有用。 它爲.NET中的n陣列和矩陣的操做提供了大量有用的功能。git

讓咱們給出一個代碼片斷來講明如何使用NumSharp。github

// 初始化一個NumSharp實例,類名故意叫NumPy
var np = new NumPy<int>();
// 產生一個數字0到9的向量
np.arange(10)
// 產生一個3維張量
np.arange(12).reshape(2, 3, 2);
// 產生10個0到9的隨機數,並轉換成5*5的矩陣
np.random.randint(low: 0, high: 10, size: new Shape(5, 5));

上面的代碼是否是看起來否很是接近python代碼?簡直就是一模一樣。NumSharp的目的就是讓你能夠輕鬆的複製粘貼Python代碼。數組

如何安裝:安全

PM> Install-Package NumSharp

若是您以爲這個圖書館對您有幫助,請積極參與討論。 歡迎在Github上爲我點贊。 這裏還有個神經網絡代碼,是徹底基於NumSharp編寫的。網絡

相關文章
相關標籤/搜索