AI網絡人工智能-硬盤故障檢測

      網友投稿 886 2025-03-31

      在用戶終端PC上打開瀏覽器,用戶在地址欄中輸入“https://console.huaweicloud.com/naie/”,進入AI市場。單擊界面右上角的“登錄”,進入登錄界面。


      輸入賬號名和密碼。

      單擊“登錄”,進入AI市場。

      依次選擇“AI服務 > 平臺服務 > 訓練平臺 > 模型訓練服務”,進入模型訓練服務介紹頁面。

      點擊“進入服務”

      數據集哪里點擊“查看全部”

      點擊創建

      填入以下

      “數據來源”選擇“本地上傳”:

      選擇本地的磁盤數據(路徑:https://bbs.huaweicloud.com/forum/thread-56568-1-1.html),然后點擊“創建”。

      分析數據:

      分析數據集

      點擊菜單欄特征工程,進入特征工程頁面:

      點擊特征處理按鈕“i”進行特征工程創建

      如果沒有實例,就創建一個新的實例

      創建完成后,點擊進入編輯環境

      參數名稱

      參數說明

      特征工程名

      特征工程的名稱。可以在創建特征工程時配置。

      開發平臺

      特征工程處理數據集的計算平臺。

      l JupyterLab

      l 舊版體驗式開發

      環境信息

      資源核數。

      數據集

      數據集路徑。

      創建人

      創建特征工程的用戶。

      創建時間

      特征工程創建的時間。

      簡介

      特征工程的描述。可以在創建特征工程時配置。

      根據名稱搜索特征工程。

      特征工程詳情。

      進入特征工程編輯頁面,執行特征處理操作。

      導出特征處理腳本到用戶本地。

      復制特征工程。

      刪除特征工程。

      選擇python3,點擊

      官方給的是綁定數據,但是由于版本的升級,我們選擇“選擇數據”進行數據的綁定即可

      一下步

      選擇自定義操作

      先將自定義操作里面的代碼清空,后復制如下代碼后粘貼,然后點擊運行,(最好每做一步都點擊運行,這樣能檢測出來哪里出錯~)

      算法代碼如下:

      I

      mport pandas as pd

      data = dataflow.to_pandas_dataframe()

      # Your code here

      #去掉列名

      data = data.loc[1:]

      data.sort_values(['disk_sn'], inplace=True)

      # 只包含一個值的列,無用

      cols_only_one_value = data.nunique().to_frame( ? name='num').query('num==1').index.tolist()

      # 保留的列

      cols_keep = [i for i in data if i not in ? cols_only_one_value]

      # 硬盤smart特征列

      cols_smart = [i for i in cols_keep if ? i.startswith('smart')]

      #特征選擇

      colums = cols_smart+['capacity_bytes','failure','disk_sn']

      processed_data = data[colums]

      dataflow = ? data_flow.create_dataflow_from_df(processed_data) #@return ? {"type":"dataflow","attrs":{"source":"dataframe"}}

      下一步:

      選擇數據集:DATASET,數據集實例:processed_disk_data,與原始數據集DISK-data不同名。

      運行完成后點擊保存

      執行代碼同jupyter類似,可單步執行,也可全量代碼一起執行。

      單步執行:

      全量執行:

      生成訓練數據

      點擊執行特診工程之后,返回數據集界面,查看數據集,我們發現生成了清洗后的新數據集了。新數據集的來源是FEATURE,代表著是特征工程生成的數據集。

      下一步:點擊模型訓練

      耐心等待~3-7分鐘

      創建完成

      進入編輯環境

      點擊編輯進入編輯環境進行訓練代碼的準備。

      先將里面的代碼清空,后復制如下代碼后粘貼,然后點擊運行,(最好每做一步都點擊運行,這樣能檢測出來哪里出錯~)

      # -*- coding: utf-8 -*-

      from __future__ import print_function

      from sklearn.model_selection import cross_val_score, train_test_split

      from sklearn.metrics import confusion_matrix, accuracy_score, roc_curve

      from naie.metrics import report

      from naie.datasets import get_data_reference

      from naie.context import Context

      import warnings

      warnings.filterwarnings('ignore')

      import pandas as pd

      import numpy as np

      import lightgbm as lgb

      import os

      import pickle

      # naie sdk主要用于文件、路徑、日志等操作,詳見訓練平臺又上角問號處幫助中心內sdk文檔說明

      def load_dataset(dataset, dataset_entity):

      '''

      從數據集中加載數據為DataFrame

      '''

      data_reference = get_data_reference(

      dataset=dataset, dataset_entity=dataset_entity)

      df = data_reference.to_pandas_dataframe()

      return df

      def model_fn():

      model = lgb.LGBMClassifier(random_state=1)

      return model

      def train(x_train, y_train, model):

      model.fit(x_train, y_train, categorical_feature=cate_cols)

      def save_model(model):

      """

      模型存儲的固定路徑,生成的pkl文件要與推理代碼predict.py中的路徑對應

      """

      model_path = os.path.join(Context.get_model_path(), 'model.pkl')

      with open(model_path, 'wb') as ff:

      pickle.dump(model, ff)

      def save_features(features):

      """

      模型存儲的固定路徑,生成的pkl文件要與推理代碼predict.py中的路徑對應

      """

      features_path = os.path.join(Context.get_model_path(), 'features.pkl')

      with open(features_path, 'wb') as ff:

      pickle.dump(features, ff)

      def score_model(x_validation, y_validation, model):

      """

      返回驗證得分并通過logs保存在訓練任務中

      """

      score = accuracy_score(y_validation, model.predict(x_validation))

      with report(True) as logs:

      logs.log_property("score", score)

      return score

      def main():

      # dataset dataset_entity需要修改為項目數據集對應的參數

      data = load_dataset(dataset="DATASET", dataset_entity="processed_disk_data")

      features = data.columns.tolist()[:-2]

      #因為硬盤容量的數值較大,可以先轉化成類別特征的數據

      data['capacity_bytes'] = data['capacity_bytes'].astype('category')

      # 按照硬盤劃分訓練集和測試集

      train_disks, test_disks = train_test_split(

      data['disk_sn'].unique(), shuffle=True, random_state=2019, test_size=0.2)

      train_data = data[data['disk_sn'].isin(train_disks)]

      test_data = data[data['disk_sn'].isin(test_disks)]

      #創建模型

      model = lgb.LGBMClassifier(random_state=1,objective = 'binary',num_leaves = 64,n_estimators = 1000,is_unbalance=True)

      AI網絡人工智能-硬盤故障檢測

      # 交叉驗證

      cv_score = cross_val_score(

      model, train_data[features], train_data.failure, cv=5, scoring='accuracy', fit_params={'categorical_feature': ['capacity_bytes']})

      print(f'CV accuracy score: {cv_score}')

      model.fit(train_data[features], train_data.failure,categorical_feature=['capacity_bytes'])? # lightgbm處理分類變量

      # 評分時是對每個盤進行預測,根據歷史數據預測這個盤會不會壞

      test_y = test_data.groupby('disk_sn').failure.nth(-1)

      test_X = test_data.groupby('disk_sn').nth(-1)[features]

      print('test set confusion matrix:')

      conf_matrix=confusion_matrix(test_y, model.predict(test_X))

      print(conf_matrix)

      # 輸出誤報率FAR,即一塊硬盤實際為好盤,而模型預測為壞盤的概率,業務目標 <= 0.1%

      print(f'FAR : {conf_matrix[0][1]/sum(conf_matrix[0])}')

      #輸出查全率FDR,即一塊硬盤實際為壞盤,而模型預測為壞盤的概率,業務目標 > 80%

      print(f'FDR : {conf_matrix[1][1]/sum(conf_matrix[1])}')

      score = score_model(test_X, test_y, model)

      print(f'test accuracy score: {score}')

      #保留特征

      save_features(features)

      #保存模型

      save_model(model)

      # return the score for hyperparameter tuning

      return score

      if __name__ == "__main__":

      main()

      代碼中的數據位置是DATASET下的processed_disk_data文件,如果數據不是在該位置,請修改上述訓練代碼中的main函數中load_dataset的參數dataset="DATASET"和dataset_entity="processed_disk_data"。

      保存后 Ctrl+s,下一步

      然后點擊下圖的調試按鈕:

      點擊確定,自動進入算法的模型訓練頁面,如下圖所示。

      訓練完成后,狀態如下,會顯示訓練狀態和評估報

      如果訓練失敗,可以通過點擊上圖右側的詳情來查看系統日志和運行日志:

      模型打包

      系統支持將訓練好的模型訓練任務進行歸檔。用戶可以將歸檔包編排成應用包發布到應用市場,或者基于歸檔包創建驗證服務、訓練服務。

      步驟1:單擊的,彈出“歸檔”對話框。

      參數配置:

      參數名稱

      參數說明

      模型名稱

      模型包的名稱。

      模型版本

      訓練模型的版本。

      默認版本為V1.0.0。

      模型描述

      訓練模型的描述信息。

      可以在“模型管理”界面確認是否已經有了我們打包的模型,通過下載按鈕進行下載:

      至此,模型打包完成。

      人工智能

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:excel左上角(excel左側小三角)
      下一篇:你好 請問剛才在操作的時候 突然趕上軟件更新然后再打開的時候我當時的文檔就找不到了 請問在哪里能找到(n從1開始,每個操作可以選擇)
      相關文章
      亚洲一区精品伊人久久伊人| 国产成人高清亚洲一区91| 亚洲国产综合精品一区在线播放| 亚洲成a人片7777| 337p日本欧洲亚洲大胆精品555588| 亚洲成色WWW久久网站| 亚洲人成网站在线观看播放| 国产亚洲日韩在线三区| 在线观看亚洲成人| 亚洲欧洲日产国码无码网站 | 亚洲伊人久久精品影院| 不卡一卡二卡三亚洲| 中文字幕亚洲电影| 亚洲色精品aⅴ一区区三区| 国产成人精品日本亚洲专区61| 久久久久亚洲av成人无码电影| 日日噜噜噜噜夜夜爽亚洲精品| 怡红院亚洲怡红院首页| 亚洲乱码无码永久不卡在线| 亚洲成AV人片在线观看ww| 亚洲福利视频一区| 久久精品国产亚洲AV无码娇色| 亚洲美女激情视频| 亚洲jjzzjjzz在线观看| 亚洲中文无码永久免| 久久精品国产亚洲AV| 亚洲男人天堂2020| 亚洲熟妇无码八AV在线播放| 亚洲AV永久无码精品一百度影院| 亚洲一区二区成人| 亚洲中文无码av永久| 亚洲熟妇成人精品一区| www国产亚洲精品久久久| 久久亚洲av无码精品浪潮| 亚洲av综合avav中文| 亚洲黄色三级视频| 亚洲高清一区二区三区| 最新亚洲人成网站在线观看| 国产精品V亚洲精品V日韩精品| 亚洲国产成人片在线观看| 亚洲精品91在线|