前提・実現したいこと
2次元のセンサー入力データを2次元行列に変換し,その行列を入力として処理を行い,すぐに結果を表示させるシステムを実現したいと思っております.現在のプログラムは,「センサー入力データの変換ー>処理と表示」と逐次なっているため,センサー入力の変換をしている間は,結果表示が止まってしまいます.
なので,「センサー入力・行列変換」と「処理+結果表示」を並列プロセスで行えるプログラムにしたいと思っております.
ここに質問の内容を詳しく書いてください。
concurrent.futuresを使って並列処理をしようとしているのですが,executor.submitを使うと「np.arrayは使えない」とエラーになり,executor.mapを使ってイテレータで出力すると,結果が[]になってしまいます.
発生している問題・エラーメッセージ
executor.submitの場合
TypeError: 'numpy.ndarray' object is not callable`
executor.map
[] ### 該当のソースコード def func(x,y,z): ,,, return(2d-array) executor = concurrent.futures.ThreadPoolExecutor(max_workers=2) rets = executor.map(func(a, b, c)) tmp = np.fromiter(rets, int) print(tmp) もしくは, executor = concurrent.futures.ThreadPoolExecutor(max_workers=2) rets = executor.submit(func(a, b, c)) print(rets.result()) ### 試したこと executor.submit result()を試しましたが,np.ndarrayは呼び出せない(以上のエラー)となる. そこで,executor.mapを試しましたが,[]となって値を渡せません.
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。