<cite id="ffb66"></cite><cite id="ffb66"><track id="ffb66"></track></cite>
      <legend id="ffb66"><li id="ffb66"></li></legend>
      色婷婷久,激情色播,久久久无码专区,亚洲中文字幕av,国产成人A片,av无码免费,精品久久国产,99视频精品3
      網易首頁 > 網易號 > 正文 申請入駐

      Scikit-Learn 1.8更新:新增 Array API 支持PyTorch與CuPy加速!

      0
      分享至


      Scikit-Learn 1.8.0 更新引入了實驗性的 Array API 支持。這意味著 CuPy 數組或 PyTorch 張量現在可以直接在 Scikit-Learn 的部分組件中直接使用了,且計算過程能保留在 GPU 上。



      1.8.0 到底更新了什么?

      Scikit-Learn 開始正式支持Python Array API 標準。這是一個由 NumPy、CuPy、PyTorch、JAX 等庫共同維護的接口規范。在 1.8.0 版本中可以實現:

      • 直接傳參:受支持的評估器(estimators)現在可以直接接收 CuPy 數組或 PyTorch 張量。
      • 計算分派:運算會被自動分派到對應的非 CPU 設備(如 GPU)上執行。
      • 狀態保留:模型擬合后的屬性會與輸入數據保持在同一物理設備上。

      雖然目前的版本依然貼著“實驗性”標簽且需要顯式開啟,但它確實打破了 Scikit-Learn 過去那種“萬物皆需 NumPy”的框架。

      交叉驗證

      如果你平時不怎么用 cross_val_score、GridSearchCV 或 CalibratedClassifierCV,那你可能感覺不到這次更新的提速。但對大多數從事肅建模的開發者來說,交叉驗證一直是 GPU 的“性能殺手”。

      在舊版本中,即便你的基礎模型(如 XGBoost)是在 GPU 上訓練的,Scikit-Learn 的編排邏輯會把數組轉回 NumPy,然后在 CPU 上重新計算各項指標。這種頻繁的內存搬運和 CPU 的操作浪費了大量的時間,但是Array API 的加入讓這種循環能基本閉環在 GPU 內部運行。

      開啟方式與限制

      啟用這項特性需要完成下面的配置。如果漏掉任何一步,程序都會悄悄退回到 NumPy 模式。

      環境變量設置(必須在導入 SciPy 或 Scikit-Learn 之前):

      import os
      os.environ["SCIPY_ARRAY_API"] = "1"

      配置 Scikit-Learn 內部開關

      from sklearn import set_config
      set_config(array_api_dispatch=True)

      目前還有一個問題,就是不支持cuDF DataFrames。但是你依然可以用 cuDF 做數據加載和預處理,不過輸入模型之前必須確保輸入是 array-like 格式。也就是說類別特征必須手動編碼而且且無法再依賴 pandas/cuDF 的 dtype 自動識別機制。

      基于 GPU 的 XGBoost 交叉驗證

      下面是一個運行 5 折分層交叉驗證的示例。為了讓整個鏈路留在 GPU 上,我們需要對 XGBClassifier 做一點小的封裝,并結合 cuML 的指標計算。

      import os
      os.environ['SCIPY_ARRAY_API'] = '1'
      import cupy as cp
      import cudf
      from sklearn.model_selection import StratifiedKFold, cross_val_score
      from sklearn.metrics import make_scorer
      from cuml.metrics import roc_auc_score
      from xgboost import XGBClassifier
      from sklearn import set_config
      set_config(array_api_dispatch=True)
      # 加載數據并進行簡單的預處理
      X = cudf.read_csv('/kaggle/input/playground-series-s5e12/train.csv').set_index('id')
      y = X.pop('diagnosed_diabetes').astype(int)
      # 類別特征編碼處理
      cat_cols = [c for c in X.columns if X[c].dtype == 'object']
      X = X.astype({c: 'category' for c in cat_cols})
      for c in cat_cols:
      X[c] = X[c].cat.codes
      ft = ['c' if c in cat_cols else 'q' for c in X.columns]
      kfold = StratifiedKFold(5, shuffle=True, random_state=0)
      # 封裝 XGB 以適配 CuPy 預測
      class cuXGBClassifier(XGBClassifier):
      @property
      def classes_(self):
      return cp.asarray(super().classes_)
      def predict_proba(self, X):
      p = self.get_booster().inplace_predict(X)
      if p.ndim == 1:
      p = cp.column_stack([1 - p, p])
      return p
      def predict(self, X):
      return cp.asarray(super().predict(X))
      model = cuXGBClassifier(
      enable_categorical=True,
      feature_types=ft,
      device='cuda',
      n_jobs=4,
      random_state=0
      )
      # 執行交叉驗證
      scores = cross_val_score(
      model,
      X.values,
      y.values,
      cv=kfold,
      scoring=make_scorer(
      roc_auc_score,
      response_method="predict_proba"
      ),
      n_jobs=1
      )
      print(f"{scores.mean():.5f} ± {scores.std():.5f}")

      雖然這段代碼看起來還是需要一些修改,但它確實能讓交叉驗證循環保持在 GPU 上。

      現階段支持的組件

      目前 Array API 的覆蓋范圍還在逐步擴大。在 1.8.0 中,以下組件已經具備了較好的支持:

      • 預處理:StandardScaler、PolynomialFeatures
      • 線性模型與校準:RidgeCV、RidgeClassifierCV、CalibratedClassifierCV
      • 聚類與混合模型:GaussianMixture

      官方提供的一個基于 PyTorch 的 Ridge 管道示例顯示,在處理線性代數密集型任務時,這種配置在 Colab 環境下能比單核 CPU 快出 10 倍左右。

      ridge_pipeline_gpu = make_pipeline(
      feature_preprocessor,
      FunctionTransformer(
      lambda x: torch.tensor(
      x.to_numpy().astype(np.float32),
      device="cuda"
      )
      ),
      CalibratedClassifierCV(
      RidgeClassifierCV(alphas=alphas),
      method="temperature"
      ),
      )
      with sklearn.config_context(array_api_dispatch=True):
      cv_results = cross_validate(
      ridge_pipeline_gpu, features, target
      )

      總結

      Scikit-Learn 準備好完全接管 GPU 了嗎?顯然還沒有。但這個版本意義在于,它正已經向GPU的支持邁出了第一步。目前這種方式雖然還有點“硬核”,對普通用戶不夠友好,但對于追求極致效率的開發者來說,Scikit-Learn 1.8.0 已經要想這個方向前進了。

      https://avoid.overfit.cn/post/ab7e632896364fc3b4b9fdc9d17884e3

      作者:Abish Pius

      特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。

      Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

      相關推薦
      熱點推薦
      獨家消息:西貝創始成員董俊義擔任CEO,賈國龍退幕后!門店管理層工資延發,店長廚師長全部降薪,“新CEO首要目標是讓公司活下來”

      獨家消息:西貝創始成員董俊義擔任CEO,賈國龍退幕后!門店管理層工資延發,店長廚師長全部降薪,“新CEO首要目標是讓公司活下來”

      每日經濟新聞
      2026-03-06 18:44:10
      6年了,郭麒麟的反擊幾乎斷送了朱亞文的演藝生涯

      6年了,郭麒麟的反擊幾乎斷送了朱亞文的演藝生涯

      小熊侃史
      2025-12-25 11:24:12
      全軍僅此一例:師長授中將軍銜,軍長和另外3名師長卻被授予少將

      全軍僅此一例:師長授中將軍銜,軍長和另外3名師長卻被授予少將

      史韻流轉
      2026-03-07 09:20:08
      字節跳動啟動最大規模實習生招聘:擬招超7000人,轉正率超50%,重點傾斜研發、產品與AI領域

      字節跳動啟動最大規模實習生招聘:擬招超7000人,轉正率超50%,重點傾斜研發、產品與AI領域

      深圳晚報
      2026-03-06 16:38:48
      90年小伙打工被誣陷偷東西,他沒反抗,只讓工廠老板看了眼他的背

      90年小伙打工被誣陷偷東西,他沒反抗,只讓工廠老板看了眼他的背

      牛魔王與芭蕉扇
      2025-11-06 10:09:31
      國防預算草案公布,大陸24小時內促統,賴清德面臨兩條路

      國防預算草案公布,大陸24小時內促統,賴清德面臨兩條路

      二凱訓猛犬
      2026-03-07 11:52:24
      車頂可升降、車內可站立,小米YU9最新爆料

      車頂可升降、車內可站立,小米YU9最新爆料

      金融界
      2026-03-06 14:23:07
      為什么說要得饒人處且饒人?網友:卡里幾千萬,為了5塊錢命沒了

      為什么說要得饒人處且饒人?網友:卡里幾千萬,為了5塊錢命沒了

      另子維愛讀史
      2026-02-25 23:23:26
      0-2大冷!3月7日一大早,王欣瑜一輪游,鄭欽文比賽對手+時間出爐

      0-2大冷!3月7日一大早,王欣瑜一輪游,鄭欽文比賽對手+時間出爐

      大秦壁虎白話體育
      2026-03-07 08:18:55
      4號秀轟27+4超喬丹,打破塵封41年神紀錄!難解三球露餡6連勝終結

      4號秀轟27+4超喬丹,打破塵封41年神紀錄!難解三球露餡6連勝終結

      鍋子籃球
      2026-03-07 12:40:41
      2026轉運年來了!這4個星座從此告別倒霉,一順到底!

      2026轉運年來了!這4個星座從此告別倒霉,一順到底!

      朗威談星座
      2026-03-07 12:29:48
      22年河南女孩高考601分,辦升學宴遭嫉妒,被親人"設局"棄尸窯洞

      22年河南女孩高考601分,辦升學宴遭嫉妒,被親人"設局"棄尸窯洞

      談史論天地
      2026-03-07 09:05:15
      馬龍:淚目!乒協副主席只是掛名?龍隊現在處于待業狀態?

      馬龍:淚目!乒協副主席只是掛名?龍隊現在處于待業狀態?

      行舟問茶
      2026-03-06 17:03:57
      陳飛宇在巴黎吃麻辣燙被偶遇!衣服破了個大洞,網友:我眼花了?

      陳飛宇在巴黎吃麻辣燙被偶遇!衣服破了個大洞,網友:我眼花了?

      木子愛娛樂大號
      2026-03-06 16:45:32
      火箭106-99戰勝開拓者 球員評價:阿門滿分,6人及格,2人低迷

      火箭106-99戰勝開拓者 球員評價:阿門滿分,6人及格,2人低迷

      籃球資訊達人
      2026-03-07 11:49:29
      又一個10萬億產業,要來了!

      又一個10萬億產業,要來了!

      環球時報國際
      2026-03-06 17:23:46
      中東變局下的外貿人:伊朗客戶失聯,迪拜華人敞開家門接待同胞

      中東變局下的外貿人:伊朗客戶失聯,迪拜華人敞開家門接待同胞

      齊魯壹點
      2026-03-06 21:59:09
      浦東機場凌晨兩點“爆哭”:幾百名中年人防線崩塌,真相太扎心

      浦東機場凌晨兩點“爆哭”:幾百名中年人防線崩塌,真相太扎心

      匹夫來搞笑
      2026-03-06 20:17:30
      61歲雪梨自曝被TVB高層性侵,滿臉驚恐:不能說名字,會死人的!

      61歲雪梨自曝被TVB高層性侵,滿臉驚恐:不能說名字,會死人的!

      潮鹿逐夢
      2026-03-05 22:34:12
      3.7金價預警!黃金大風暴將至,所有人做好心理準備

      3.7金價預警!黃金大風暴將至,所有人做好心理準備

      花小貓的美食日常
      2026-03-07 12:02:07
      2026-03-07 13:44:49
      deephub incentive-icons
      deephub
      CV NLP和數據挖掘知識
      1940文章數 1456關注度
      往期回顧 全部

      科技要聞

      OpenClaw爆火,六位"養蝦人"自述與AI共生

      頭條要聞

      特朗普突然放話"先解決伊朗后解決古巴" 梅西聽懵了

      頭條要聞

      特朗普突然放話"先解決伊朗后解決古巴" 梅西聽懵了

      體育要聞

      塔圖姆歸來:凱爾特人的春之綠

      娛樂要聞

      周杰倫田馥甄的“JH戀” 被扒得底朝天

      財經要聞

      針對"不敢休、不讓休"怪圈 國家出手了

      汽車要聞

      逃離ICU,上汽通用“止血”企穩

      態度原創

      旅游
      游戲
      藝術
      教育
      數碼

      旅游要聞

      文旅部部長:7名外國游客到上海旅游,買了40箱貨;“成為中國人”成了熱詞

      鍵鼠不是萬能的神!外媒盤點近年適合用手柄玩的游戲

      藝術要聞

      Mark Grantham | 城市街景

      教育要聞

      兩會速遞|教育部部長:將實施新一輪學生心理健康促進行動

      數碼要聞

      蘋果M5 Pro芯片GeekBench跑分曝光:多核破2.8萬

      無障礙瀏覽 進入關懷版