日々精進

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

IT

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>…

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

IT

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

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

docker compose yamlファイルに環境変数で定義されている値を埋め込む

IT

書き方は以下参照。デフォルト値も設定出来るのがいいなと思いました。値が設定されていない場合はエラーにすることもできる。便利だ。。 qiita.com

chromeでhome endキーでページの先頭などに移動できない

IT

カーソルブラウジング機能がONになっていることが原因。 F7キーを押すと直る。F7押した覚えないんだけど、Updateで自動的にONになったのかな。。 参考: did2memo.net

linuxでzipを解凍すると「start of central directory not found」エラー

IT

原因はunzipコマンドが4GB以上のファイルの解凍に対応していないため。 以下のように7zipをインストールして解凍すると解凍できた。 sudo yum install p7zip 7za x hoge.zip 参考: qiita.com

dockerのnetwork_mode: “host”とbridgeの違い

IT

network_mode: “host”はホストとdockerコンテナのIPアドレスが同一になる。以下で分かりやすく説明されています。 qiita.com なので、例えばdockerコンテナ内のプロセスから8888ポートをlistenすると、ホストの8888ポートをlistenすることになる。 port mapp…

pickle.dumpを呼ぶと「PicklingError: Can't pickle typing.List[~]: it's not the same object as typing.List」エラー

IT

pickleの代わりにcloudpickleを使うと直った。dillというライブラリも使ってみたが、そちらは解決しなかった。 参考: gitmemory.com

windowsでRotatingFileHandlerでログを出力すると「PermissionError: [WinError 32] プロセスはファイルにアクセスできません。別のプロセスが使用中です。」エラー

IT

RotatingFileHandlerがwindows環境で上手く動かないっぽい。 代わりにConcurrentLogHandler を使うと直った。 参考: pypi.org

ChromeでMediaStreamTrack.Stopを呼ぶとブラウザが固まる

IT

以下の現象を踏んだ。。 support.skyway.io これが発生すると、画面上はDOMを変更しても何も変化しなくなってしまう。 Chromeを一旦バックグラウンドに送ってからフォアグラウンドに戻すと直る。

オライリーのサブスクを年額99ドルで利用する方法

IT

ACM会員になればオライリーの本が沢山読み放題になるサービスが通常価格より大分安い年額99ドルで利用できる。 そして、知らなかったが最近は日本語の書籍も多少追加されているらしい。利用手続きは以下が一番わかりやすかったです。 yoshikiito.net そして…

docker composeで設定した環境変数はsshでログインした時には設定されていない

IT

docker composeファイルのenvironmentに定義した値はdocker execでコンテナ内に入った場合は設定されているが sshでdockerコンテナにログインした場合には設定されていなかった。 これはdocker composeのcommandで以下を実行すると回避できる。 printenv | g…

pythonからslackに通知を送る

IT

以下のサイトを参考にして実装したら送れました。Slackにはapi.slack.com経由でメッセージを送る方法などあるようで、他のサイトに載っている方法だとうまくいかなかったりしたが↓は大丈夫でした。 developers.wonderpla.net

nohup.outの名前を変更する

IT

以下のような感じで変更出来る。 nohup some_command &> nohup2.out & 最近以下のような感じでmulti gpuマシン上で複数の実験を回しているが結構快適です。各並列で動く処理のoutputが混ざったり上書きされたりしないよう気をつけないといけないけど。 nohup…

XMLで&をエスケープしないとエラーになる

IT

xmlを読み込むとinvalidなxmlだと判定されることがあった。原因は&をエスケープしてないことだった。 VoTTはAnnotationをつけたデータをVOC形式でExportする時にエスケープしてくれないっぽい。困る。。 参考: github.com kotaroito.hatenablog.com

tensorboardにアクセス出来ない問題

IT

tensorboard --logdir=./logsのようなコマンドで起動したものの、アクセスできない・・同じマシン上からcurlでリクエストを送るとアクセスできているっぽい、という状態。 原因はtensorboard2からデフォルトでは外部のマシンからのリクエストを受け付けなく…

TensorBoard Debugger V2がすごい

IT

lossがnanになっている原因など調べる場合、すごく便利そう。使い方は以下参照。このチュートリアルもよくできている。 www.tensorflow.org ただし、 tf.debugging.experimental.enable_dump_debug_info を実行するとkerasのsaveメソッドを実行してSavedMode…

pandasでto_csvで書き出したファイルをエクセルで開くと文字化けする問題

IT

原因はエクセルが文字コードがUTF8の場合BOM付きであることを期待しているため。 世の中の標準としてはBOMなしの方が正しいんだけど。。しょうがないので以下のようにBOM付きで出力する。 df.to_csv('./df.csv', encoding='utf_8_sig') 参考: qiita.com

sshでlocal forwardingしている時に、そのlocalのportにリクエストを送ると「channel 10: open failed: connect failed: Connection refused」エラー

IT

自分の場合、原因はリモートホストで動かしていたサーバ(TensorBoard)が外部からのリクエストを許可していなかったため。 「channel 10: open failed: connect failed: Connection refused」エラー自体はリクエストを送った先のportをlistenしているプロセ…

docker-compose upを実行すると「docker.errors.InvalidArgument: “host” network_mode is incompatible with port_bindings」エラー

IT

前に実行したことのあるdocker-compose.yamlファイルを使ってコンテナを起動するとエラーがでた。なぜ。。 原因はdocker-composeのバージョン1.26あたりからnetwork_mode: 'host'とport mapping設定を両方設定するとエラーになるよう仕様が変わったため。 バ…

DeepLearningモデルの計算量

IT

モデルの速さの指標としてflopsとmacsがよく使われる。 macsが何かを調べると、積和演算の回数らしい。なるほど。 ja.wikipedia.org

エクセルの調子が悪い時はプログラム修復をする

IT

最近エクセルが重かったり、挙動がおかしいことがある。。以下を試すと多少良くなった気がする。 getnavi.jp エクセルはよく使うので調子が悪いとストレスフルだなぁ。。

エクセルの関数は空欄と0を区別しない

IT

エクセルの関数で =IF(A1=0.... のような式を書くと、A1が空欄でも0でもTRUEになってしまう。マジか。。 しょうがないので以下のように0かつ空欄でないという条件にした。 AND(A1=0, A1<>"") 参考: www.excelspeedup.com

sshでアクセスすると「Connection closed by UNKNOWN port 65535」エラー(再)

IT

以前Connection closed by UNKNOWN port 65535エラーが出る場合を紹介したが、別の原因でまた出た。 anton0825.hatenablog.com 今回の原因は接続先IPアドレスが間違っていたこと。サーバのIPがxxx.xxx.xxx.111だとすると、xxx.xxx.xxx.112 にアクセスしてい…