NumSharp  - Numerical .NET 原

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

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

讓我們給出一個代碼片段來說明如何使用NumSharp。

// 初始化一個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編寫的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章