天天看點

He received a high salary because of C Ronaldo joining Manchester United, but he became the other side of C Ronaldo

When Cristiano Ronaldo joined Manchester United, the Portuguese sports team quickly introduced a replacement, "If you think I am the most talented, then you should go and meet Fabio Payim", Cristiano Ronaldo praised another talented rising star in an interview at Old Trafford.

He received a high salary because of C Ronaldo joining Manchester United, but he became the other side of C Ronaldo

Fabio Paim was the shining diamond of the Lion Academy, and at the time he was even more in the spotlight than Cristiano Ronaldo and Moutinho. However, when Cristiano Ronaldo has won five Ballon d'Ors awards, Parim has not even played a national team match. He himself admits it, and he doesn't deserve that much expectation.

Now, Payim's story is full of educational significance for young players. He joined Sporting Portugal at the age of 6, and by the age of 14, Barca, Real Madrid and Manchester United had sent scouts to visit him regularly, and even the French Football Association mobilized him to become French.

He received a high salary because of C Ronaldo joining Manchester United, but he became the other side of C Ronaldo

Portugal Sport, which tasted the sweetness in the transfer of Cristiano Ronaldo, signed a contract extension with Payim early, with a weekly salary of up to 18,000 pounds. However, this became a turning point in failure.

In an interview, Payim said that he was paid a sky-high annual salary before he was 20 years old, which made him lose himself, "I spent a lot of money on the car. I love cars, I have Ferraris, Lamborghinis, Porsches, Maseratis, every car you can imagine I have. ”

He received a high salary because of C Ronaldo joining Manchester United, but he became the other side of C Ronaldo

Portugal Sport wants to inflate Parim's value with a high-paying contract and then sell for a high price, but it backfires, "When you have a lot of money, you need some good advice to help you keep working." I don't know what I'm doing, I believe I'm more talented than everyone else, I feel good, buy nice clothes, drive a nice car, and always have no one in sight. When I had a slightly bad performance, the outside world began to point fingers at me. ”

Unlike Cristiano Ronaldo, who was born on the barren island of Madeira, Paim is from Estoril, one of Portugal's top tourist and entertainment cities, with some of the most luxurious hotels and casinos in Europe, and a daily life paper drunk.

He received a high salary because of C Ronaldo joining Manchester United, but he became the other side of C Ronaldo

From a young age, Payim longed for that kind of life, and the big contract of Portuguese sports gave him the possibility of squandering, "When I was a child, my family had no money, and I couldn't even afford to buy sneakers. But once I got rich, I started doing a lot of things that I hadn't done before. The doors are open for me and I can do whatever I want. ”

Losing himself in the world of flowers and flowers, Payim failed to make it into the main squad of Portuguese sport. In 2008, when Cristiano Ronaldo had become a Premier League star, Payim also had the opportunity to try to catch up with the senior, and under the operation of Mendes, the 20-year-old Payim joined Chelsea, but that experience became the last straw that overwhelmed the camel.

He received a high salary because of C Ronaldo joining Manchester United, but he became the other side of C Ronaldo

Chelsea wantEd Payim to be their own Cristiano Ronaldo, but the Portuguese genius was accustomed to a life of luxury, often missing training, and after a season, Chelsea returned him. Since then, Paim has played for 12 different teams in 7 different countries, including Angola, Qatar, Malta and even Lithuania.

In 2019, Payim was arrested for possessing narcotics, "I'm not a role model worth learning from, hopefully young people don't be like me, in some ways I'm a little ashamed." ”

He received a high salary because of C Ronaldo joining Manchester United, but he became the other side of C Ronaldo

After years, Payim also began to reflect on his own problems, he clearly knew where he was doing wrong, and C Luo did it right, "Once upon a time, I could do more than him (C Luo), but he has some qualities that I don't have, he is very ambitious, he has enough motivation and desire to succeed." He had a good work ethic, and I didn't. My talent is as good as Ronaldo's, but I don't have any other abilities. ”

In this way, Payim and Cristiano Ronaldo went out of a completely different trajectory, which also became a lesson, urging those young players to work hard, "If I had some of Ronaldo's mental abilities, even if it was only a part, I would become one of the best players in the world." 」 But no one is born perfect. I thought talent was enough, but it wasn't. (Supine braces/zz)

He received a high salary because of C Ronaldo joining Manchester United, but he became the other side of C Ronaldo

rapids_評論:Nvidia的Rapids将Python分析引入GPU

rapids

建立機器學習模型是一個重複的過程。 這通常是死記硬背的慣例,是“在周期中獲勝最快”的遊戲,因為您可以越快地進行疊代,就越容易探索新的理論并獲得良好的答案。 這就是當今實際的企業使用AI由大型企業支配的原因之一,而大型企業可能會為此投入大量資源。

Rapids是由Nvidia孵化的幾個開源項目的保護傘,該項目将整個處理流程放在GPU上,消除了I / O限制的資料傳輸,同時還大大提高了每個步驟的速度。 它還為資料提供了一種通用格式,進而減輕了在不同系統之間交換資料的負擔。 在使用者級别,Rapids模仿了Python API,以簡化該使用者群的過渡。

rapids_評論:Nvidia的Rapids将Python分析引入GPU

Tidyverse食譜

典型的機器學習工作流程

急流生态系統架構

Rapids項目旨在在很大程度上複制Python的機器學習和資料分析API,但要複制GPU,而不是CPU。 這意味着Python開發人員已經擁有了在GPU上運作所需的一切,而無需了解CUDA程式設計和并行操作的底層細節。 Pythonista的開發人員可以在未啟用GPU的計算機上開發代碼,然後進行一些調整,然後在可使用的所有GPU上運作它們。

[ 也在InfoWorld上:用于AI開發的6種最佳程式設計語言 ]

Nvidia CUDA工具包為數學庫,并行算法和圖形分析提供了較低級的原語。 該架構的核心是基于Apache Arrow的GPU資料幀,該資料幀提供了與程式設計語言無關的列式記憶體資料結構。 使用者通過cuDF和類似Pandas的API與GPU資料框進行互動。 Dask是用于并行計算的Python庫,它模仿上遊Python API并與CUDA庫一起用于并行計算。 将Dask視為适用于Python的Spark。

rapids_評論:Nvidia的Rapids将Python分析引入GPU

快速

急流生态系統架構

cuDF,cuML和cuGraph這三個主要項目是獨立開發的,但設計為可無縫協同工作。 作為該項目的一部分,也正在開發到更廣泛的Python生态系統的橋梁。

急流安裝

在AWS的Linux機器上通過Anaconda進行的安裝非常簡單,由于版本0.11中的依賴關系發生了變化,是以不多。 安裝C / C ++庫以使用libcudf并非易事,我建議堅持使用Python API和Conda安裝過程。 Rapids包含Jupyter筆記本,也可以在Google的免費Colab上獲得,進而使入門變得簡單。 我使用Jupyter筆記本0.10版在Google Colab上運作代碼,其中包括Nvidia Tesla T4 GPU。

rapids_評論:Nvidia的Rapids将Python分析引入GPU

IDG

Rapids的GPU資料框

資料架構是任何資料科學工作流程的核心。 這是發生功能工程的地方,并且是花費大量時間的地方,因為資料科學家會整理髒資料。 cuDF是Rapids項目,用于基于GPU的類似熊貓的資料框。 cuDF的基礎是libcudf,libcudf是一個C ++庫,實作了用于導入Apache Arrow資料的低級原語,在數組上執行逐元素的數學運算,以及對GPU内記憶體矩陣執行排序,聯接,分組,歸約及其他操作。 libcudf的基本資料結構是GPU資料框(GDF),該資料框又以Apache Arrow的列式資料存儲為模型。

rapids_評論:Nvidia的Rapids将Python分析引入GPU

快速

cuDF技術棧

Rapids Python庫為使用者提供了類似于資料框的進階界面,例如Pandas中的資料框。 在許多情況下,Pandas代碼在cuDF上運作不變。 如果不是這種情況,通常隻需要進行較小的更改。

[ 也在InfoWorld上:深度學習與機器學習:了解差異 ]

cuDF中的使用者定義功能

結束基本資料操作後,有時有時需要使用使用者定義的函數(UDF)處理行和列。 cuDF提供了一種PyData樣式的API,可以編寫代碼來處理更多的過程資料結構,例如數組,序列和移動視窗。 目前僅支援數字和布爾類型。 使用Numba JIT編譯器編譯UDF,該編譯器使用LLVM的子集将數字函數編譯為CUDA機器代碼。 這樣可以大大加快GPU的運作時間。

cuDF中的字元串

盡管GPU非常适合快速處理浮點向量,但通常不會将它們用于處理字元串資料,而事實是,大多數資料都是以字元串形式出現的。 cuStrings是一個GPU字元串處理庫,用于在字元串數組中拆分,應用正規表達式,連接配接,替換标記等。 像cuDF的其他功能一樣,它被實作為C / C ++庫(libnvStrings),并由旨在模仿熊貓的Python層包裝。 盡管未針對在GPU上執行優化字元串資料類型,但代碼的并行執行應提供比基于CPU的字元串處理更快的速度。

從cuDF進出資料

資料幀I / O由專用庫cuIO處理。 支援所有最常見的格式,包括Arrow,ORC,Parquet,HDF5和CSV。 如果您有幸在DGX-2硬體上運作,可以使用GPU Direct Storage內建将資料直接從高速存儲移動到GPU,而無需使用CPU。 至關重要的使用者仍然會欣賞在解壓縮大型資料集時GPU所提供的加速以及與Python生态系統的緊密內建。

GPU Direct Storage目前處于測試階段,釋出時将在大多數Tesla GPU上提供。 您可以隻用一行代碼就可以從NumPy數組,Pandas DataFrames和PyArrow表建立GPU資料框。 其他項目可以通過

__cuda_array_interface__

與Numba生态系統内的庫交換資料。 用于神經網絡庫的DLPack也是受支援的接口。

使用cuDF的最大缺點可能是Python外部缺乏互操作性。 我認為,像Arrow所做的那樣,專注于C / C ++ API的強大基礎将能夠建立更廣闊的生态系統并使整個項目受益。

拉皮茲的cuML

cuML的既定目标是成為“由GPU支援的Python Scikit學習”。 從理論上講,這意味着您隻需要更改import語句,并可能需要調整一些參數,以解決在CPU上運作時的差異,在這種情況下,有時采用蠻力方法會更好。 很難低估基于GPU的Scikit學習的好處。 加速是巨大的,資料分析師的生産率可以提高很多倍。 C ++ API尚未準備好在其Python綁定之外進行廣泛使用,但這有望改善。

cuML還包括用于通過Dask幫助超參數調整的API,Dask是一個用于在多個節點之間擴充Python的庫。 許多機器學習算法可以有效地并行化,并且cuML正在積極開發多GPU和多節點,多GPU算法。

rapids_評論:Nvidia的Rapids将Python分析引入GPU

快速

cuML算法

[ 也在InfoWorld上:2020年的人工智能預測 ]

拉皮茲的cuGraph

cuGraph是Rapids生态系統的第三個成員,與其他人一樣,cuGraph與cuDF和cuML完全內建。 它提供了圖形算法,基元和實用程式的良好選擇,所有這些都具有GPU加速的性能。 cuGraph中對API的選擇比Rapids的其他部分要廣泛一些,它們都可以使用NetworkX,Pregel,GraphBLAS和GQL(圖形查詢語言)。

rapids_評論:Nvidia的Rapids将Python分析引入GPU

快速

cuGraph堆棧

cuGraph在本質上更像是一個工具包,而不是cuML。 圖形技術在學術界和工業界都是一個快速發展的空間。 是以,通過設計,cuGraph使開發人員可以通路C ++層和圖基元,進而鼓勵第三方使用cuGraph開發産品。 幾所大學做出了貢獻,得克薩斯州A&M(GraphBLAS),佐治亞理工大學(Hornet)和加州大學戴維斯分校(Gunrock)的項目已經“産品化”,并歸類于cuGraph之下。 每個項目提供一組不同的功能,所有功能都由GPU加速,并且都由相同的cuDF資料幀支援。

NetworkX是Rapids團隊針對其本機界面使用的Python API。 通過該接口可以使用多種算法。 盡管隻有頁面排名是多GPU,但團隊仍在積極開發其他版本的多GPU版本。

rapids_評論:Nvidia的Rapids将Python分析引入GPU

快速

cuGraph算法

我發現有趣的cuGraph子項目之一是cugraphBLAS,它是一種使用線性代數語言标準化圖算法的建構塊的工作。 基于GraphBLAS( graphblas.org ),這是一種用于稀疏動态圖處理的自定義資料結構。

Hornet的另一個cuGraph子項目,Hornet提供了一種用于包含圖形資料的獨立于系統的格式,類似于Apache arrow提供了一種獨立于系統的方式處理資料框的方式。 Hornet支援大多數流行的圖形格式,包括SNAP,mtx,metis和edge。

為了與接近Python社群的精神保持一緻,Python的本機NetworkX包可用于研究複雜的網絡。 這包括使用CUDA原語重新實作的圖形和多圖形的資料結構,使您可以重用許多标準圖形算法并執行網絡結構和分析措施。 大多數算法是單GPU,例如NetworkX。 盡管如此,僅在GPU上運作它們就能顯着提高速度,而工作仍在繼續轉向多GPU實施。

[ 同樣在InfoWorld上:什麼是CUDA? GPU的并行程式設計 ]

在急流路線圖上

鑒于基于GPU的分析提供了巨大的速度,是以在将來的版本中将引入一些新項目。

DLPack和array_interface用于深度學習

多層神經網絡是移至GPU的首批工作負載之一,針對該機器學習用例存在大量的代碼體。 以前,DLPack是深度學習庫之間資料交換的實際标準。 如今,通常支援array_interface。 急流都支援。

cuSignal

與Rapids的其他大多數項目一樣,cuSignal是現有Python庫(在本例中為SciPy Signal庫)的GPU加速版本。 原始的SciPy信号庫基于NumPy,已由其GPU加速的cuSignal中的CuPy取代。 這是Rapids設計理念在工作中的一個很好的例子。 除了少數自定義CUDA核心外,GPU的端口主要涉及替換import語句和調整一些功能參數。

将信号處理引入Rapids部門是明智之舉。 信号處理無處不在,在工業和國防領域具有許多立即有用的商業應用。

空間

時空操作是GPU加速的最佳選擇,它們可以解決我們在日常生活中面臨的許多現實問題,例如分析交通模式,土壤健康/品質和洪水風險。 移動裝置(包括無人機)收集的許多資料都具有地理空間成分,而空間分析是智慧城市的核心。

與其他元件一樣,cuSpatial也是一個基于CUDA原語和Thrust向量處理庫建構的C ++庫,使用cuDF進行資料交換。 C ++庫的使用者可以使用C ++閱讀器讀取點,折線和面資料。 Python使用者最好使用Shapely或Fiona之類的現有Python包來填充NumPy數組,然後使用cuSpatial Python API或轉換為cuDF資料幀。

用于資料可視化的cuxfilter

資料可視化對于分析工作流以及呈現或報告結果都是至關重要的。 然而,盡管GPU可以處理資料本身的所有魔力,但将資料發送到浏覽器并不是一件容易的事。 受Crossfilter JavaScript庫啟發的cuxfilter旨在通過提供一個堆棧來彌合差距,以使第三方可視化庫能夠顯示cuDF資料幀中的資料。

随着團隊挑選出最佳的架構和連接配接器模式,cuxfilter進行了幾次疊代。 最新的疊代利用了Jupyter筆記本電腦,Bokeh伺服器和PyViz面闆,而內建實驗包括來自Uber,Falcon和PyDeck的項目。 該元件尚未準備就緒,但計劃在Rapids 0.13中釋出。 有很多活動部件,我沒有親身嘗試它,但是,如果它能如期實作,那将是Rapids工具包的一個重要補充。

[ 同樣在InfoWorld上:選擇PyTorch進行深度學習的5個理由 ]

使用Dask擴充和擴充

Dask是Python的分布式任務排程程式,在Python中的作用類似于Apache Spark在Scala中發揮的作用。 Dask-cuDF是一個庫,提供分區的,GPU支援的資料幀。 當您計劃使用cuML或正在加載大于GPU記憶體或分布在多個檔案中的資料集時,Dask-cuDF可以很好地工作。

就像Spark RDD(彈性分布式資料集)一樣,Dask-cuDF分布式資料幀的行為幾乎與本地一樣,是以您可以嘗試使用本地計算機并在需要擴充時遷移到分布式模型。 Dask-cuML提供cuML多節點功能,當您沒有DGX工作站的預算時,它是一個不錯的選擇。

翻譯自: https://www.infoworld.com/article/3532009/review-nvidias-rapids-brings-python-analytics-to-the-gpu.html

rapids