日々精進

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

2018-04-01から1ヶ月間の記事一覧

conda env create ~でdlibをinstallすると「CMake must be installed to build the following extensions: dlib」エラー

AI

dlibのsetup.pyの中にsubprocess.check_output(['cmake', '--version'])を実行しているところがあり、cmakeへのパスが通ってないためcmakeというファイルが見付からないことが原因。 github.com subprocess.check_outputの引数にcmakeのパスを設定すれば直せ…

batファイルのカレントディレクトリの取得方法

IT

%~dp0 で取得出来る。いやこれ、もっと直感的なコマンドにできなかったのかね。。覚えられる気がしない。 参考: qiita.com

Logicool OptuionsはVMWare Horizon Clientでログインしている場合は使えない

IT

自宅から会社のPCにログインして仕事をする場合、VMWare Horizon Clientを使ってログインしているが、この場合ログイン先のPCにLogicool Optuionsをインストールしてもマウスを認識してくれないのでマウスの設定をすることができない。 多分Windows標準のリ…

xcopyを実行すると「サイクリック コピーは実行できません」エラー

IT

原因はエラーメッセージの通りで、 xcopy . .\dist のようにコピー元がコピー先を含むようになっていたため。以下のように/EXCLUDEを使って.\distを除外してもだめだった。 xcopy . .\dist /EXCLUDE:.\xcopy-excludelist.txt 参考: www.atmarkit.co.jp

chocolateyを使ってwindowsアプリを一括インストールする

IT

chocolateyはwindows向けパッケージマネージャ。いつも便利に使わせて貰っています。 chocolatey.org chocolateyでinstallしたパッケージの一覧は以下の手順でexportできる。 choco install chocolateygui Chocolatey GUIを起動する 画面右上の方のexportボ…

OSSを使用した時の著作権表示

IT

以下のように各ライブラリの名前・作者・URL、ライセンスを記載し、その下に各種OSSライセンス(MITとかApache Licenseとか)の条文を載せる。 Lightweight SQLite3 wrapper for C++ - Copyright(c) 2014 Daniel Beer <dlbeer@gmail.com> - URL: http://dlbeer.co.nz/oss/sqlit</dlbeer@gmail.com>…

windowsでconda仮想環境を作るとapi-ms-win-core-console-l1-1-0.dllなどのDLLが2つずつインストールされる

AI

windows環境でminicondaを使って仮想環境を作ると以下のパスに仮想環境のファイルが保存される。 C:\Users\username\AppData\Local\Continuum\miniconda3\envs\envname 上記と、以下のパスに「api-ms-win-core-console-l1-1-0.dll」などいくつかの同じDLLフ…

conda env createでconda環境を作ると「ERROR: No matching distribution found for torchaudio==0.7.2」エラー

AI

windows環境でpytorchをインストールした後、conda env exportでyamlファイルを出力し、そのファイルを使ってconda env createするとエラーが出る。 原因は以下によるとwindowsをサポートしていないこと。でも手動だとインストールできるし何か違う気がする…

pythonプログラムを実行した時に、自分の環境だとエラーが出ないが他の人の環境だと「No module named~」エラーが出る

AI

conda環境もアプリのコードも同じなのになぜ・・と思ったら、自分の環境ではuser siteに必要なパッケージが入っているが他の人には入っていなかったためだった。 user siteとはユーザ単位で利用するパッケージをインストールするところで、以下のようなとこ…

pythonnetでpythonモジュールを実行すると「No module named~」エラー

AI

コマンドプロンプトから python main.py のように実行すると問題無いのにpythonnetから実行すると「No module named~」エラーになる、というケースがあった。 原因はpythonnetが.pthファイルを読んでくれないこと。以下のサイトには .pth ファイルを読み込…

エクセルで画像へのリンクを画像に変換する

IT

エクセルですでにある画像へのリンクを画像にするのは以下の手順でできる。 画像へのリンクを選択してコピー。その後削除 Alt+E, Sの後形式を選択して貼り付ける これでエクセルファイルの容量すごい増えるけど、他の人に渡してもリンク切れにならない。

conda exportで出力したyamlに含まれるprefix:は消して良い

AI

prefix:の行に環境依存のパスが書かれていて嫌だなと思っていたが、消して特に問題無いらしい。というか消した方が良い。何であるんだこの行。。 参考: stackoverflow.com

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

AI

以下の手順でスレッド数を調べられる。 タスクマネージャを開く 「詳細」タブを表示 ヘッダを右クリック>列の選択をクリック スレッド数にチェックを付けてOKをクリック 上記はWindows10向けの手順だが、以下のサイトにはWindows7向けの手順も載っている。 …

TensorFlow MKLをwindowsでinstallしようとすると「ClobberError: This transaction has incompatible packages due to a shared path.」エラー

AI

原因はwindows10の制約でパスの長さの最大値が256文字となっているがそれを越えてしまうため。 以下の方法で制限を解除すると直った。 knowledge.autodesk.com

Pythonのテストでfloatの値を比較する

AI

floatだとテストOKな場合でもぴったり一致しないことがあるのでmath.iscloseを使う。 assert math.isclose(0.1, 0.1) np.iscloseとかもあるらしい。 参考: note.nkmk.me

Pythonでraiseのみ書いたときの挙動

AI

以下のようにraiseのみの文があったのでなんだこれと思ったら、raise eの場合とスタックトレースが異なるらしい。raiseの方がスタックトレースが見やすくていい。なるほど。 try: ~ except Exception as e: raise 詳細は以下参照。 qiita.com

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

AI

推論時のCPU使用率を下げたい、というモチベーションでTensorFlowが使うコア数を減らしてみた。(CPUで推論させてます) デフォルトでは推論時に論理コア数と同じだけスレッドが作られ、並列処理される。そうすると推論にかかる時間は短くなるが並列処理のオ…

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

AI

今日知ったが、2020年4月からAnacondaのdefaultsチャネルの使用が商用利用有料になっていたらしい。 詳細は以下参照。 qiita.com ただ、conda-forgeからインストールするようにすれば無料で使い続けられる。 qiita.com 上記を参考に conda config --remove c…

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

AI

エラーメッセージの全体は以下。 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/si…

gitのHEADのtag nameをコマンドで取得する

IT

git describe --tags --exact-match で取得できる。HEADが指しているcommitにtagが無ければ空文字が返される。 参考: stackoverflow.com

コマンドプロンプトからzip圧縮を行う

IT

power shellのコマンドを使うとzip圧縮できる。 note.kiriukun.com でもコマンドプロンプトからやりたかったのでコマンドプロンプトでpower shellのコマンドを実行する方法と合わせて実現した。 www.ipentec.com 以下のコマンドを実行するとzipにできた。 po…

Pythonで絶対パスかどうかを判定する

IT

os.path.isabs(my_path) でできる。cross platformで使えるの有り難い・・ 参考: stackoverflow.com

「ImportError: No module named 'resource'」エラー

AI

resourceモジュールを使ってメモリ使用量を調べようとしたら掲題のエラーが出た。 原因はresourceモジュールはunixでしか使えないため(windows環境で実行しようとしていた・・) 解決策としてはpsutilをインストールして使うといいらしい 参考: stackoverf…

pythonのGCについて

AI

pythonのGCについて調べたことのメモ。 参照カウントと世代別mark&sweep方式 GCログを出す場合、gc.callbackにログを出力する関数を登録する。ただし、出力できる情報は限られている docs.python.org gc.set_debug(gc.DEBUG_STATS)で統計情報を出せるように…

windows環境向けtensorflow-mklをinstallする

AI

intel公式サイトによると、windows向けはソースからビルドしてねと書いてある。 software.intel.com めんどい・・と思っていたがanacondaがビルド済モジュールを配布しているっぽい。ただし、tensorflowのすべてのバージョンに対応するmklバージョンがあるわ…

__pycache__のパスを変更する

AI

python3.8以降はPYTHONPYCACHEPREFIX環境変数を設定するなどの方法でpycacheが保存されるフォルダを変更することができる。 参考: stackoverflow.com

TensorFlowでModelを読み込むと「ValueError: NodeDef mentions attr 'incompatible_shape_error' not in Op~」エラー

AI

原因は学習時と推論時でTensorFlowのバージョンが違うこと。 参考: github.com

sagemaker.image_uris.retrieveを実行すると「No such file or directory: '/opt/conda/lib/python3.7/site-packages/sagemaker/image_uri_config/xgboost.json'」エラー

AI

sagemakerのverisonは2.40.0。以下のsampleを実行すると掲題のエラーが出た。 github.com エラーになったのは以下のコード。 image_uri = sagemaker.image_uris.retrieve( framework="xgboost", region=region, version="1.0-1", py_version="py3", instance…

sagemaker.get_execution_role()を実行すると「KeyError: 'UserSettings'」エラー

AI

sagemaker1.72.0ではこのエラーが起きないが、2.40.0では起きる。 何か前もって設定しておかないといけないのだろうか。。 一旦roleの文字列をget_execution_roleを使わず手動で設定するようにした。 参考: kiito.hatenablog.com

SageMaker StudioでExperimentsタブが表示されない

AI

以下の記事を参考にSageMaker Studioを触っていたところ、学習結果を確認するExperimentsタブが表示されていなくて困った。 dev.classmethod.jp UIが上記記事が公開された時と変わってComponents and registriesタブからExperimentsを表示するようになったっ…