基于.Net Core的線性代數庫NumSharp(.Net版本的NumPy)

基于.Net Core的線性代數庫NumSharp(.Net版本的NumPy)

  • 開源協議:Apache
  • 操作系統: Windows Linux OS X
  • 開發語言:C#
  • 項目所有者:Oceania2018
  • 收錄時間:2018-11-08
  • 分享:
編輯評級
3

項目詳細介紹

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();
// 產生一個數字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

 

NumSharp 已被如下項目使用:

標簽:numpy

湖北体彩十一选五玩法