1. ホーム
  2. スクリプト・コラム
  3. ゴラン

Goはsync.Mapを使って、mapの同時操作問題を解決している

2022-02-14 17:21:10

前置き

Golangではmapは同時実行安全性がなく、1.9からsync.Mapが導入されました。sync.Mapはmapの同時実行安全性の問題を解決しますが、len()関数を実装していないのでsync.Mapの長さを計算するには少し厄介でRange関数を使用する必要があります。

地図の並行処理問題

from sklearn.cross_validation import KFold
def printing_Kfold_scores(x_train_data,y_train_data):
     fold =KFold(len(y_train_data),5,shuffle=False) 
     for iteration, indices in enumerate(fold,start=1):
         lr = LogisticRegression(C = c_param,penalty = 'l1')   
         lr.fit(x_train_data.iloc[indices[0],:],y_train_data.iloc[indices[0],:].values.ravel())
         y_pred_undersample =lr.predict(x_train_data.iloc[indices[1],:].values)
         recall_acc =recall_score(y_train_data.iloc[indices[1],:].values,y_pred_undersample)
         recall_accs.append(recall_acc)


実行出力です。

致命的なエラー: マップリードとマップライトの同時実行

sync.Map 同時処理問題を解決する

ModuleNotFoundError: No module named 'sklearn.cross_validation'


実行出力です。
<nil> false
1 本当

...

999 真

地図の長さを計算する

TypeError: __init__() got multiple values for argument 'shuffle'


実行出力です。
len of demo: 1000

sync.Mapの長さを計算する

KFold(n,5,shuffle=False) # n is the total number of arguments to pass in


実行出力です。
len of demo: 1000

概要

  • ロード キーデータのロード
  • Store キーデータの更新・追加
  • <デリート Delete キーデータを削除する
  • 範囲 データを繰り返し処理する
  • LoadOrStoreはキーデータが存在する場合はそれを返し、存在しない場合はそれを設定する
  • LoadAndDelete キーデータが存在する場合、削除する。

マップの同時操作を解決するために、より関連するGo sync.Mapはマップコンテンツの同時操作を解決するために、スクリプト家の前の記事を検索してくださいまたは次の関連記事を閲覧し続けるあなたは、スクリプト家をサポートすることを願っています! この記事では、マップの同時操作を解決するための方法を説明します。