日々精進

新しく学んだことを書き留めていきます

windowsでプロセスのスレッド数を調べる

以下の手順でスレッド数を調べられる。

  • タスクマネージャを開く
  • 「詳細」タブを表示
  • ヘッダを右クリック>列の選択をクリック
  • スレッド数にチェックを付けてOKをクリック

上記はWindows10向けの手順だが、以下のサイトにはWindows7向けの手順も載っている。

参考: superuser.com

TensorFlow, TensorFlow MKLが使うコア数を指定する

推論時のCPU使用率を下げたい、というモチベーションでTensorFlowが使うコア数を減らしてみた。(CPUで推論させてます)

デフォルトでは推論時に論理コア数と同じだけスレッドが作られ、並列処理される。そうすると推論にかかる時間は短くなるが並列処理のオーバーヘッドがあるのでCPU使用率は上がる。

実際、TensorFlowのスレッド数を1にするとCPU使用率は10%~15%程度下がった。

TensorFlowが使うコア数は tf.ConfigProtoの引数のintra_op_parallelism_threadsとinter_op_parallelism_threadsで指定する。

intra_op_parallelism_threadsは一つのOperatorの計算(積和の計算とか)を何スレッドでやるか。 inter_op_parallelism_threadsは独立したOperatorの計算を最大いくつのスレッドでやるか。

参考: qiita.com

stackoverflow.com

Anacondaのdefaultsチャネルの使用が商用利用有料になっていた

今日知ったが、2020年4月からAnacondaのdefaultsチャネルの使用が商用利用有料になっていたらしい。

詳細は以下参照。

qiita.com

ただ、conda-forgeからインストールするようにすれば無料で使い続けられる。

qiita.com

上記を参考に conda config --remove channels defaults でdefaultsチャネルを削除使用とすると、以下エラーが発生した。

CondaKeyError: 'channels': 'defaults' is not in the 'channels' key of the config file

windows環境だから?しょうがないので以下のように手動で削除して対応した。

%HOMEPATH%\\AppData\Local\Continuum\miniconda3\.condarc
の

channels:
- conda-forge
- defaults
から

- defaults
を削除

conda installを実行すると「CondaVerificationError」エラー

エラーメッセージの全体は以下。

CondaVerificationError: The package for tensorflow-base located at C:\Users\username\AppData\Local\Continuum\miniconda3\pkgs\tensorflow-base-1.15.0-mkl_py37h190a33d_0
appears to be corrupted. The path 'Lib/site-packages/tensorflow-1.15.0.data/purelib/tensorflow_core/include/tensorflow_core/core/grappler/optimizers/generic_layout_optimizer_transposer_factory.h'
specified in the package manifest cannot be found.

原因はwindows10のパスの全文字数は最大256文字までだが、それを越えてしまうため。

以下の手順で最大文字数の制限を解除すると直った。

knowledge.autodesk.com

参考: github.com