日々精進

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

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

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

IT

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

tf.estimator.Estimatorのevaluateを呼ぶと「Fatal Python error: Segmentation fault」エラー

AI

TensorFlowのバージョンは1.15.0。 原因はevaluateメソッドのinput_fnに精度検証のinputを返す関数を渡していたが、その関数がNoneから空配列的なものを返していたため。 今回はtf.data.TFRecordDatasetに検証用データを渡してそのeval_input_fnを以下のよう…

tensorflowのモデルをtensorflow liteに変換してx86 cpuで動かすと変換前より速度が低下する問題

AI

tensorflow liteで動かせば速くなると思っていたのになぜ・・ 調べてみたら、tfliteはARMプロセッサに最適化されているのでx86 cpuでは遅いという情報がありました。 自分が動かしたい環境はx86 cpu。。 stackoverflow.com x86 cpuサポートは計画されている…

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…

pd.read_excelでエクセルファイルを読み込むと「ValueError: Unknown engine: openpyxl」エラー

AI

このエラーメッセージでググるとopenpyxlをインストールしてengine='openpyxl'を引数に指定しろという情報があるが、これをやっても直らないので困った。。 原因はpandasのバージョン。1.0.1以上でないとだめらしい。 pip install -U pandas を実行してバー…

unzipコマンドで解凍してできたファイル名が文字化けしている問題

AI

unzip -O sjis hoge.zip のように文字コードを指定すると直った。自動で判定とかしてくれればいいのに。。 参考: qiita.com

TensorFlowの不具合調査をしやすくする

AI

TensorFlowで学習しているとlossがnanになり、その原因を調査することがあったが、かなり大変だった。。 不具合調査の時に、調査しやすくするために不具合の再現性を確保するために以下記事を参考にSeedを固定した。 参考: qiita.com

pythonからslackに通知を送る

IT

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

nohup.outの名前を変更する

IT

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

YOLOを学習するとIoUなどがnanになる

AI

学習途中で出力される評価指標がnanになることがあるが正常らしい。評価指標の計算式的に仕方ないのかも?ずっとnanが続くようだとだめだけど、学習データの中に物体のlabelが一つも含まれないような場合ではnanになるのは正常らしい。 参考: github.com

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

IT

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

PyCharmのSSH Interpreterで実行時にファイルをアップロードしてくれない問題

AI

PyCharmのSSH Interpreterは便利だけど、使ってるといつの間にかサーバに修正したソースコードを自動でアップロードしてくれる機能が動かなくなることがよくある。。 その原因はdefault serverの設定がなぜか外れることっぽい。アップロードされなくなったら…

mish活性化関数を使う

AI

pip install tensorflow-addonsでTensorFlowのaddonを入れると使えるようになる。 import tensorflow_addons as tfa ... tfa.activations.mish(x) 参考: www.tensorflow.org

TensorBoard Debugger V2がすごい

IT

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

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

IT

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

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

tf.keras.Model.saveを呼ぶと「TypeError: Input 'resource' of 'AssignVariableOp' Op has type float32 that does not match expected type of resource.」エラー

AI

デバッグのためtf.debugging.experimental.enable_dump_debug_info を呼んでいたが、これが原因だった。これを呼ばないようにすると直った。 参考: github.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 にアクセスしてい…

batファイルを実行すると「内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」エラー

IT

このエラーメッセージは色んな原因で出るんだろうけど・・ 自分のところで起きた時の原因は改行コードだった。 改行コードがLFの場合、batファイルの中身がascii文字のみの場合は大丈夫だが 2バイト文字が入るとエラーになる。 改行コードをCRLFにすると直っ…