2017-07-01から1ヶ月間の記事一覧
モデルの学習処理など、時間がかかるプロセスはnohup ~ &を使うことが多いが、実行してから「あ、これ時間かかるやつだ。。」 と気付くこともある。 そういうときは以下手順で後からnohupと&をつけたのと同じ状態に出来る。 Ctrl-Z jobsコマンドでnohupした…
以下が参考になりました。 OracleのJava11移行ガイド https://docs.oracle.com/javase/jp/11/migrate/index.html#JSMIG-GUID-D7936F0D-08A9-411E-AD2F-E14A38DA56A7 ヌーラボのJava8⇒Java9移行ブログ https://nulab.com/ja/blog/nulab/java9-migration/ Java…
PCが重いのでタスクマネージャを見てみると「Windows Search Indexer」が結構CPUを使っていたので以下対応をしたところCPU負荷が減り快適になりました。 mushikabu.net
そのままcommitするとoutputの情報も入ってるのですごい量になる。 コードのみcommitするにはClear All Outputsを実行してからcommitすればいい。 もっと自動化する方法もあるけど一旦これでいいか。。 参考: qiita.com
(iPhoneでしか調査してません)原因はブラウザが起動時にしかiPhoneの設定カメラ設定を読み込んでないっぽいこと。ブラウザを一度終了させて再起動しないといけない。 ただし、以下で紹介されているようにブラウザ上でカメラの許可設定を変更することもでき…
MDNは日本語だし読みやすいしでよく使う。 developer.mozilla.org もっと正式な情報源がいい場合はW3Cの仕様書を見る。でもまだworking draftだったり、Issueに「Safariはこの仕様に従ってないよ!」と書かれていたりして困ることがある。。 www.w3.org W3C…
例えば、日次データを30日間だけに絞ってグラフを描きたいというような場合。 indexがdatetimeになっている場合、以下のようにして30日間に絞れる。 start_date = list(jan_tenpo_df.index)[0] df = df.loc[start_date:start_date + pd.Timedelta(days=30)] …
例えば、 df[df.a < df.a.quantile(.95)] のようにすれば上位5%以下の行を絞り込める。 pandas力もっとつけたい。。 参考: https://stackoverflow.com/questions/18580461/eliminating-all-data-over-a-given-percentile
Lifecycle ConfigurationsはNotebookインスタンス起動時などのタイミングで実行するスクリプトを設定できる。 これを使ってNotebookインスタンス起動時にconda環境を作るスクリプトを実行すればよい。 まあ、NotebookインスタンスのTerminalでコマンド実行し…
ハイパーパラメータは以下の変遷を辿ることがおおい。 コマンドライン引数で渡す⇒数が多くなってきてカオスに⇒yamlファイルに移す Hydraはさらに使いやすく、複数のyamlファイルをマージしたり、ハイパーパラメータをコマンドライン引数で上書きしたりできる…
例えば、売上データに売上が0の日の行がない場合。 pandasでグラフを描く場合などはすべての日の行が必要。 asfreqを使うと0うめできる。 df= df.asfreq("D", fill_value=0) 参考: note.nkmk.me
Permissionが足りないように見えるけど、aws cpコマンドだとダウンロードできる。 原因は不明だけど、notebookのsessionを一度shutdownして再起動すると直った。 なんなんだ一体。。
日本語フォントがLinux環境に無いのが原因なので、まずは日本語フォントをインストールする必要がある。手順は以下参照。 qiita.com しかしこれだけだと直らなかった。 ~/.cache/matplotlib/fontlist-v310.json を削除し、JupyterLabのsessionをshutdownし、…
原因ははっきりわからないが、.ideaフォルダを消してプロジェクトを開き直したら直った。 Invalidate Cache/Restartは効かなかった。 参考: cozylifeblog.tokyo
.imlファイルの中のjdkNameのところにいらない差分がでやすい。特に、SSH Interpreterを使っている場合はポート番号などがjdkNameに含まれており、 自分の環境で違うポート番号を使おうとすると差分が出てしまう。 <orderEntry type="jdk" jdkName="Remote Python 3.6.6" jdkType="Python SDK" /> 解決策はInterpreter nameをプロジェクト</orderentry>…
conda installが上手く行かない場合、debugログを見たいことがある。 そういう場合は -vv オプションを付けるとdebugログを見られる。 参考: github.com
例えば、以下のようにクラスAのメソッドの返値にクラスAを指定したい場合、普通に書くとエラーになる。 class A: def create_instance(self) ->A: ... これはclass Aの定義が完了する前にclass Aを参照しているため。 python 3.7以降はfuture importを使うこ…
kaggleのnotebookはjupyter notebook形式で実行するか一つのscriptファイルを実行するかいずれかしかできないので、 開発環境でクラス毎に.pyファイルを分けて実装している場合、notebookでどう実行するかが問題になる。 一番良いのは恐らく自分が書いたコー…
原因はimportするモジュール同士が循環参照になっていること。 自分の場合は抽象クラスにFactoryMethodを作り、サブクラスのインスタンスを生成しようとした時にこのエラーが出た。 Factoryクラスを別に作ってそこにFactoryMethodを実装することで回避した。…
原因はXGBoostのpredictにはndarrayでなく、xgboost.DMatrixを渡さないといけないため。 xgb.DMatrix(x_df)のようにpd.DataFrameをDMatrixに変換して渡すと直った。 参考: stackoverflow.com
notebookをscriptモードで使っている時に、▶ボタンをクリックしてscriptを実行すると、以下のようにエラーメッセージが見切れてしまうことがある。 FileNotFoundError [Errno 2] File b'/opt/conda/lib/python3.6/site-packages/data_science_... File -> Ke…
原因はWindows環境用のパッケージがenvirnment.yamlに含まれているため。vs2015_runtimeとか。 それらを削除すると直った。というか、プログラムの実行に支障ないなら入れないで欲しい。。
.gitattributesを使うとリポジトリを利用している人のautocrlfの設定を共通化できる。 設定漏れをなくせるのでいい。今のプロジェクトではautocrlf=falseにして改行コードをLFに統一している。 理由は開発用PCがWindowsで、そこから.pyや.yamlなどのテキスト…
今まで知らなかったんだけど、2017年からITS健保にMyHealthWebというサイトができていた。調べてみたら他の健保も同様のサイトがあるところが結構あるっぽい。このサイトはSaaSで色んな健保組合と契約してるんだろうな。 https://its-kenpo-oauth.mhweb.jp/o…
以下のように@pytest.mark.parametrizeを使ってparameterized testができる。 テスト失敗したらその時のパラメータの値もログに出るし,便利。 testdata = [ (datetime(2001, 12, 12), datetime(2001, 12, 11), timedelta(1)), (datetime(2001, 12, 11), date…
qiita.com が参考になりました。 以下のように書くとインデントと前後の改行を無視してくれる。 もっとすんなり書ければいいけど。。 import textwrap string = textwrap.dedent(''' This is a {what}. I'm from {where}. ''').format(what="apple", where="…
以下のようにall関数とリスト内包表記を使って簡潔に書ける。ただ、リストの中に自分で定義したクラスがあったらそのeqが正しく実装されていることが必要。 assert all([a == b for a, b in zip(actual, ['bl', 'direction', 'day'])]) 参考: stackoverflow…
以下参照。会議室でPyCharmを皆で見ている時とか便利。 minus9d.hatenablog.com
static変数を初期化する処理をstaticコンストラクタに書きたいという場合。 pythonにはstaticコンストラクタは無いけど、.pyファイルは普通にpythonスクリプトとして実行されるので 以下のようにクラス定義の後に初期化処理を実装すればよい。 class A(objec…
init.pyとは何なのかは以下がわかりやすかったです。 qiita.com とりあえずpythonの開発をするに当たっては以下を意識していればいいと思います。 init.pyにはモジュールの初期化処理以外はかかない(import順に制約がある場合、import文を書くとか。いや、…