2020-01-01から1年間の記事一覧

Hydra+MLflowで結果を保存する場所を指定する

概要 Hydra+MLflowで機械学習の結果をUIで確認するとき、どこに保存されるか分からなくなってしまった。 なので、結果を保存する場所を指定したい。 開発環境 python v3.6 MLflow v1.11.0 hydra-core v1.0.3 方法 こちらの方法に書いてある通り、Hydraの設定…

Hydraで特定のクラスを読み込む

概要 ymym3412.hatenablog.com qiita.com 上記の記事を参考にHydra+MLflowで機械学習を行っていた。 ここで、argparseの項目を全てHydraに変更したところ、グリッドサーチを行うときにやって欲しくない組み合わせに遭遇した。 そこで、特定の組み合わせはPyt…

docker-composeでgitlabを立てる

概要 最近、サーバにgitlabを立てたので、そのときの備忘録 2020.11.5追記 前回のdocker-composeファイルだと、git cloneできないので、修正 環境 Ubuntu 16.04LTS docker v19.03.13 docker-compose v1.27.4 解決策 ディレクトリ構造 gitlab ┗ docker-compos…

etcdserver read-only range requestが出た

概要 Kubernetesの環境構築するためにrancherをDockerで立てた。 その後、localhostに接続すると、404 エラーが出た。 そこで、docker logsでエラーの中身を見てみると、 etcdserver read-only range requestというエラーが出た。 開発環境 Docker : 19.03 r…

docker-composeでIPアドレスの振り方を変える

概要 docker-composeを使いながら作業をすると、IPアドレスが競合してしまうことがある。 原因はdocker-composeでコンテナを立ち上げたときにIPアドレスが自動的に振られるため。 なので、docker-composeでコンテナを立ち上げたときに競合しないようにする。…

Ubuntu 14.04 LTSからUbuntu 20.04 LTSへアップグレード

概要 Ubuntuマシンを使う必要になり、古いUbuntuマシンを出してきた。 Ubuntuのバージョンを確認してみると、14.04 LTSと古いバージョンだったので最新のバージョン(2020/10/8 現在)である20.04 LTS アップグレードした。 環境 Ubuntu:14.04 LTS 手順 先…

vimで読み取り専用のファイルを保存する

vim

概要 read_onlyのファイルをvimで開き、ファイルの内容を変更して保存する方法。 解決策 vimを開いた画面で、 :w !sudo tee % > /dev/null を打つ。 意味としては現在開いているファイルをsudo権限を利用して、上書き保存するということ。 コマンドの説明 :w…

Pytorchで再現性を保つ方法

概要 Pytorchでモデルを組みGPUで学習をさせると、学習させる度にLossが変わる。 このままだと再現性がない。 解決策 pytorch.org 公式によると、 学習させるコードに torch.manual_seed(0) を追記する。 もし、GPU(cuDNN)で学習させる場合には cudnn.dete…

CatalinaでC++のコンパイルができない

概要 macOSをCatalinaにアップデートし、C++のコンパイルを試したところ % g++ -o a a.cpp In file included from /usr/local/Cellar/gcc@5/5.5.0_2/include/c++/5.5.0/x86_64-apple-darwin17.3.0/bits/stdc++.h:33:0, from a.cpp:1: /usr/local/Cellar/gcc@…

Dockerのマルチステージビルドを試す

概要 Docker 17.05以降でマルチステージビルドという機能が追加された。 matsuand.github.io この機能を利用すると イメージサイズが小さくなる 保守が簡単 可読性が上がる ということらしい。 そこで実際に自分でDockerファイルを書いてイメージファイルが…

hoge.tar.xzが解凍できない

概要 DockerでJuman++の環境構築をしようとしたときにtar -Jxvf jumanpp-2.0.0-rc3.tar.xzの部分で tar (child): xz: Cannot exec: No such file or directory tar (child): Error is not recoverable: exiting now tar: Child returned status 2 tar: Error…

Flaskサイドでデータを読み込み、HTMLで表示させたい

概要 Flaskで開発をしているときにjsonファイルを読み込み、HTMLのSELECTに反映させたい。 開発環境 Python 3.6 Flask 1.1.2 解決策 HTML index.html (一部省略) <select> {% for o in data %} <option value="{{ o.name }}">{{ o.name }}</option> {% endfor %} </select> (一部省略) Python app.py #!/usr/bin/…

MySQLで重複があったときにUPDATEして欲しい

概要 MySQLでINSERTをするときに重複してエラーが発生。 なので、重複したときにUPDATEして欲しい。 環境 MySQL: Ver 15.1 解決策 INSERT INTO sample (id, name) VALUES (%s, %s) ON DUPLICATE KEY UPDATE id=VALUES(id), city_name=VALUES(name) 詳細 ON D…

Main.storyboardがない

概要 専門書を読みながら、SwiftでiOSアプリをXcodeで開発しているときにLaunchScreen.storyboardのみでMain.storyboardが見つからない。 解決策 Choose options for your new project内のUser Interface:でStoryboardを選択するとMain.storyboardが出てくる…

Bokehで'tooltips'が使えない

概要 深層学習のlossのグラフを書くためにBokehを使ったところエラーが出た。 エラーの出たコード import numpy as np from bokeh.plotting import figure, output_file, show, reset_output # 出力設定 reset_output() output_file("graph.html") TOOLTIPS …

AttributeError: 'LambdaLR' object has no attribute 'get_last_lr'が出た

概要 BERTで事前学習を行っているとき AttributeError: 'LambdaLR' object has no attribute 'get_last_lr' というエラーが出ていた。 解決策 こちらを見てみると get_last_lrというメソッドがpytorchのバージョンが1.4.0から実装されたみたい。 現在のpytor…

Pythonで例外処理

概要 Pythonでraiseを使った例外処理を行うことがあったので、そのときのメモ 状況 Pythonで特定の例外処理を行いときに遭遇。 例えば import sys def main(): a = int(input('数字を入力:')) if a > 10: print('10以下を指定して下さい') sys.exit() if __…

BERTのwhole word maskingについて

概要 BERTの事前学習の方法にwhole word masking(以下、WWM)という学習方法があるので調べてみた。 事前知識 事前学習 BERTの事前学習の方法については qiita.com が詳しく書かれています。 事前学習の方法を大雑把にまとめると、 入力する文章を形態素解…

githubで「security alert」が出た

概要 vue.jsで作成したツールをgithubで管理していたところsecurity alertが出たので、そのときの解決方法 原因 「security aleat」の中身を見てみると、package.jsonの中にあるパッケージのバージョンが古かったために警告してくれた。 そのためにpackage.j…

DockerでMeCab+IPA辞書の構築

概要 DockerでMeCab+IPA辞書(+Miniconda)の環境構築 環境 Docker:19.03.8 Dokcerイメージ:frolvlad/alpine-glibc hub.docker.com MeCab:0.996 IPA辞書:2.7.0 コード FROM frolvlad/alpine-glibc ENV PATH /opt/conda/bin:$PATH ENV LANG C.UTF-8 ENV …