[解決済み] マルチプロセッシングの例でAttributeErrorが発生する。
2023-01-10 01:10:25
質問
私は自分のコードにマルチプロセシングを実装しようとしているので、いくつかの例で学習を始めようと思いました。 私はこの中で見つかった最初の例を使用しました ドキュメント .
from multiprocessing import Pool
def f(x):
return x*x
if __name__ == '__main__':
with Pool(5) as p:
print(p.map(f, [1, 2, 3]))
上記のコードを実行すると
AttributeError: can't get attribute 'f' on <module '__main__' (built-in)>
. 私はなぜこのエラーが発生するのかわかりません。 私はまた、それが助けになるならば、Python 3.5を使用しています。
どのように解決するのですか?
この問題は、multiprocessing.Poolの設計上の特徴と思われます。参照 https://bugs.python.org/issue25053 . 何らかの理由で、Pool はインポートされたモジュールで定義されていないオブジェクトでは常に動作しません。そのため、関数を別のファイルに書き、そのモジュールをインポートする必要があります。
ファイルです。 defs.py
def f(x):
return x*x
ファイル run.py
from multiprocessing import Pool
import defs
if __name__ == '__main__':
with Pool(5) as p:
print(p.map(defs.f, [1, 2, 3]))
printや他の組み込み関数を使えば、この例はうまくいくはずです。もしこれがバグでないなら(リンクによれば)、与えられた例は悪く選ばれています。
関連
-
[解決済み] 億の相対的輸入
-
[解決済み] PILからopenCVフォーマットへの変換
-
[解決済み] dict を txt ファイルに書き、それを読み取る?
-
[解決済み] Python 3でバイナリデータを標準出力に書き込むには?
-
[解決済み] 範囲指定された浮動小数点数のランダムな配列を生成します。
-
[解決済み] PyMongoで.sortを使用する
-
[解決済み] Pythonでマルチプロセッシングキューを使うには?
-
[解決済み] Jupyter (IPython)ノートブックのセッションをpickleして保存する方法
-
[解決済み] tensorflowのCPUのみのインストールでダイナミックライブラリ 'cudart64_101.dll' を読み込めなかった
-
[解決済み] pycharmがタブをスペースに自動変換する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] マルチプロセシングpool.mapを複数の引数で使用する方法
-
[解決済み] Pythonのマルチプロセッシングプールimap_unorderedの呼び出しの進捗を表示しますか?
-
[解決済み] googletransがエラー 'NoneType' オブジェクトに 'group' 属性がない、と言って動かなくなった。
-
[解決済み] Pandasの'Freq'タグにはどのような値が有効ですか?
-
[解決済み] Django Rest Framework ファイルアップロード
-
[解決済み] 文字列から先頭と末尾のスペースを削除するには?
-
[解決済み] オブジェクトのリストに特定の属性値を持つオブジェクトが含まれているかどうかをチェックする
-
[解決済み] Jupyter (IPython)ノートブックのセッションをpickleして保存する方法
-
[解決済み] あるメソッドが複数の引数のうち1つの引数で呼び出されたことを保証する
-
[解決済み] Python の sorted() はどのようなアルゴリズムを使っているのですか?重複