chevron_left

メインカテゴリーを選択しなおす

cancel
Vastee
フォロー
住所
未設定
出身
未設定
ブログ村参加

2019/01/26

arrow_drop_down
  • 正しいトークンを入力しているにも関わらずinvalid credential[Jupyter]

    https://vasteelab.com/entry/2020/03/19/1403407vasteelab.comvasteelab.com

  • 再起動すると8888でないポートになる問題の対策[Jupyter]

    https://vasteelab.com/entry/2020/03/19/135648vasteelab.comvasteelab.com

  • バージョンを指定してインストール[python][tensorflow]

    pip install tensorflow-gpu==1.11.0

  • DataFrameから複数列を抽出[Python][Pandas]

    import pandas as pd df = pd.read_csv("./train.csv") df = df[["time","date"]]

  • pickleを使って変数をそのまま保存する[Python]

    import pickle import numpy as np arr = np.zeros(100) with open("arr.pickle", "wb") as f: pickle.dump(arr, f)

  • 自作ELMoで単語をEmbeddingした後,Numpyに戻す[Flair][NLP]

    from flair.embeddings import ELMoEmbeddings from flair.data import Sentence # ELMoのモデルは各自で用意 options = '/home/ubuntu/elmo-embeddings/elmo_options.json' weights = '/home/ubuntu/elmo-embeddings/elmo_weights.hdf5' elmo = ELMoEmbeddings('custom', options_file = options, weight_file = weights) sentence =…

  • ファイル名に日付を記録するときの書き方[Python]

    import datetime dt = datetime.datetime.now() dt = dt.strftime('%Y-%m-%d_%H%M%S') df.to_csv(dt + "_data.csv") >> 2020-03-03_160611_data.csv

  • 空のDataFrameに1行ずつデータを追加[pandas]

    import pandas as pd df = pd.DataFrame(columns=["Temp", "Time"]) for i in range(5): tmp_series = pd.Series([i, i*i], index=df) df = tmp_series.append(tmp_series, ignore_index=True) print(df) ↓結果 Temp Time 0 0 0 1 1 1 2 2 4 3 3 9 4 4 16

  • コマンドラインでNvidia-driverをインストールする4行で[GPU]

    # 以前にインストールしたことがある場合は以下の2行を追加で実行 sudo apt-get purge nvidia-* sudo apt-get purge cuda-* sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt-get update # recommendと書いてあるバージョンを確認 ubuntu-drivers devices # nvidia-430は各自で読み替える sudo apt-get install nvidia-430

  • LightsailにおけるSSL証明の更新[Lightsail]

    lightsail.aws.amazon.com あとで自動更新の手順を追加する

  • pathlibを使うとglobもopenも使わずにテキスト処理ができる[Python]

    これまで特定のフォルダ内にあるテキストファイルを処理するときは、以下のようにglobをインポートして、ファイルパスのリストを作成した後に、with openでテキストを読み込むということをしていた。 from glob import glob src = "./input_txt/*.txt" for txt in glob(src): with open(txt, "r") as f: f.read() パス指定の時にアスタリスクが入ったり、with openによる無駄なfが発生したり、無駄なインシデントが発生したりし、コードが汚い。 一方、pathlibをインポートすると、以下のようにコー…

  • Raspi 3B+に外付けHDDをつなげてNextCloudでファイルサーバーを作成[NextCloud]

    まずは下記のサイトを参考にRaspiにUbuntu server 18を導入した. gihyo.jp 次に下記のブログを参考に外付けHDDをRaspiにマウント マウントは/mediaディレクトリにすること. qiita.com ここからNext Cloudのインストールに移る. snapのインストール sudo apt-get install snapd NextCloudのインストール sudo snap install nextcloud /mediaディレクトリへ接続 以下のコマンドが重要. NextCloudに/mediaディレクトリを認識させるのだ.外付けHDDのマウントは,/me…

  • 2枚のプロットを連続して出力する方法[Matplotlib]

    plt.scatter(transformed_pca[:,0], transformed_pca[:,1]) plt.xlim(-0.1,1.1) plt.ylim(-0.1,1.1) plt.savefig('./pca.png') plt.figure(2) plt.scatter(transformed_tsne[:,0], transformed_tsne[:,1]) plt.xlim(-0.1,1.1) plt.ylim(-0.1,1.1) plt.savefig('./tsne.png') plt.figure(1)にすると,1枚目に2枚目のデータがかぶさる. なので,1枚目と2…

  • Flairで自前のELMoモデルを読み込む方法[Flair]

    from flair.embeddings import ELMoEmbeddings from flair.data import Sentence sentence = Sentence(phrase) # Preparating ELMo options = './elmo_options.json' weights = './elmo_weights.hdf5' embedding = ELMoEmbeddings('custom', options_file = options, weight_file = weights) embedding.embed(sentence)

  • 最近よく入力するコマンド[docker]

    docker run -it --name "hoge" -v /home/ubuntu:/root/tmp -p 8080:80 hoge

  • Skype会議の招待はHTML形式でないとリンクが取れない[Skype]

    Outlookで のボタンを押すと,簡単にSkype会議を設定できるのだが, デフォルト設定のテキスト形式でメールを送ると,以下のように文字化けしてしまう. こういうときは,ファイル > オプション. > メール でHTML形式に切り替えてみよう. HTML形式にすると,問題無く会議室へのリンクが送れる.

  • コマンドプロンプトからファイルエクスプローラーを開く方法[Mac][Windows]

    カレントディレクトリでエクスプローラーを開くためのコマンドを紹介. WindowsとMacでコマンドが異なる. for windows explorer . for mac open .

  • sudo pythonでnot foundになる時はpythonの絶対パスを調べよう[Python]

    sudo python xxx.pyでスクリプトを実行した時,ライブラリが見つからないことがあった. こういう時はwhichコマンドを使って,普段のpythonの絶対パスを調べる. which python > /home/ubuntu/.pyenv/xxx/python そして得た絶対パスを使ってスクリプトを動かしたみよう. /home/ubuntu/.pyenv/xxx/python xxx.py こうすると,普段使っているpythonのライブラリがsudoでも使える.

  • EntityRulerを使って深層学習ベースのNERにルールを追加[sciSpacy]

    import spacy from spacy.pipeline import EntityRuler nlp = spacy.load("en_core_sci_sm") patterns = [{"label": "ORG", "pattern": "Jeffrey Hinton"}, {"label": "ORG", "pattern": "University of Toronto"}, {"label": "ORG", "pattern": "Google"}] ruler = EntityRuler(nlp, overwrite_ents=True) ruler.add_patte…

  • Latexのbibでet al.を書く方法[Latex]

    @inproceedings{suzuki2019, title={Hoge Hoge Title}, author={Taro Suzuki and Jiro Suzuki and Saburo Suzuki and others}, booktitle={15th Hoge Hoge Conference}, year={2019} } authorの所で,and othersと打つと,et al. になる. 3人以上を省略して書くことが多いみたい.

  • 新しい環境にPython環境を準備[python]

    Ubuntu16.04だと,2系と3系のpythonが混在しているため,pyenvで環境を作る. 必要なパッケージのインストール sudo apt install -y git openssl libssl-dev libbz2-dev libreadline-dev libsqlite3-dev libffi-dev pyenvのインストール git clone https://github.com/yyuu/pyenv.git ~/.pyenv .bash_profileに追記 export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROO…

  • llコマンドが無いときの設定

    sudo vi ~/.bashrc #追記 alias ll='ls -la'

  • 追加ディスクのmount手順[Ubuntu]

    sudo fdisk -l でディスクが認識されているかと,パス(/dev/xvdfなど)を確認 sudo vim /etc/fstabでディスクのパスとマウントポイントを指定. 例 /etc/fstab /dev/xvdf /home/ubuntu/storage ext4 defaults,discard 0 0 sudo mount -aでfstabの変更内容をすぐに反映

  • 元素記号をハードコーディングするときのリスト[Python]

    手打ちで作って大変だったため,記録. atomic_symbol = ["H", "He",\ "Li", "Be", "B", "C", "N", "O", "F", "Ne",\ "Na", "Mg", "Al", "Si", "P", "S", "Cl", "Ar",\ "K", "Ca", "Sc", "Ti", "V", "Cr", "Mn", "Fe", "Co", "Ni", "Cu", "Zn", "Ga", "Ge", "As", "Se", "Br", "Kr",\ "Rb", "Sr", "Y", "Zr", "Nb", "Mo", "Tc", "Ru", "Rh", "…

  • アノテーターの評価指標[ML]

    2人のとき→F1, kappa 3人以上のとき→Cronbach Alpha 解説記事 ides.hatenablog.com python ライブラリ github.com

  • 他クラス分類のマクロ平均とマイクロ平均の違い[ML]

    大げさな名前がついているが,実際は単純. マクロ平均(macro average) 全クラスの結果のF1値を計算したもの. マイクロ平均(micro average) クラスごとにF1値を計算し,それらを単純に平均したもの.

  • Seaboarnでheatmapを表示させた時の数字を1.5e+02→150に変更[Python]

    修正前 import matplotlib.pyplot as plt import seaborn as sns confusion = calc_confusion(all_prediction["A"], all_prediction["B"]) df = pd.DataFrame(data=confusion, index=['0', '1', '2', '3'], columns=['0', '1', '2', '3']) plt.figure() sns.heatmap(confusion, annot=True) plt.xlabel('A') plt.ylabel('B') 修…

  • apt-getでGPG errorが発生した時の対策[Ubuntu]

    対策 chmod 1777 /tmp github.com 経緯 dockerで立てたコンテナでapt-get updateを打ち込むと, W: GPG error: http://ppa.launchpad.net/jonathonf/python-3.6/ubuntu xenial InRelease: Could not execute 'apt-key' to verify signature (is gnupg installed?) W: The repository 'http://ppa.launchpad.net/jonathonf/python-3.6/ubuntu xen…

  • MacでElectron環境を構築[Electron]

    手順 brew install nodebrew PATHの設定 export PATH=$HOME/.nodebrew/current/bin:$PATH source ~/.bash_profile nodebrew -v For node.js install mkdir -p ~/.nodebrew/src # 下のコマンドでエラーが出たら打ち込む nodebrew install-binary latest バージョンを確認 nodebrew list 確認したバージョンを有効化 nodebrew use v12.11.0 node -v Electron install npm i…

  • G-Shock DW-6900GのAC(All clear)方法

    以下の写真の赤でマークされている二点をピンセットなどで通電する。

  • Collectionで作った辞書を棒グラフでプロット[python]

    import collections import matplotlib.pyplot as plt l = ['a', 'b', 'b', 'b', 'c'] c = collections.Counter(l) plt.bar(list(c.keys()), list(c.values()))

  • 自作データで学習したモデルを再度読み込んで2回目の学習を実行[Flair]

    自作データを使って2回以上の学習を回したときにハマったのでまとめる. 筆者が自作データでNERの学習を行なったときに,1回目に学習したモデルを2回目の学習に引き継ぎたいと思った. しかしながら,その方法は公式ドキュメントには書いていなかったので,自分で調べて解決した. 結論としては,SequenceTagger.load()を使って,1回目のモデルを読み込み,それをtaggerとして用いた. 以下,1回目に学習したモデルを2回目の学習に引き継ぐコード. from flair.data import Corpus from flair.embeddings import TokenEmbeddi…

  • f-stringを使ってスマートにパスを生成する[Python]

    Python3.6から使えるようになったf-stringを使って,スマートにパスを生成しよう. かっこ悪いパスの生成 from datetime import datetime now = datetime.now().strftime("%Y%m%d%H%M%S") dst = "/root/output/" + now + "_result/hoge.txt" print(dst) >> /root/output/20190910091617_result/hoge.txt 変数nowの周囲に+や余計な括弧が混入しているため,生成されるパス名が把握しづらい. スマートなパスの生成 from…

  • pipでパッケージの最新版をインストールする[git]

    git hub の最新版のコードを使いたいときのコマンド. 以下に,NLPライブラリFlairの最新版をインストールするときのコマンドを示す. インストール前にflairがあっても,最新版に更新してくれる. ただし,最新版は,バグやら不具合が多くて不安定なので,特に必要性が無い時には安定版を使うのが吉. pip install git+https://github.com/zalandoresearch/flair.git

  • 容量が一杯になってしまった時にでるエラー[AWS][EC2]

    apt update を実行して以下のエラー こんな時は,df -h で容量を調べてみよう.きっとディスクがパンパンになっているはずだ. Error writing to output file - write (28: No space left on device) Error writing to file - write (28: No space left on device) [IP: 80] Get:13 http://archive.ubuntu.com/ubuntu xenial-updates Release [108 kB] Err:13 http://archive.u…

  • \cite, \citet, \citepの違いは?[Latex]

    \citetと\citepでは,括弧の位置が異なる. *を付けるとet al.で省略しない. \citeと\citet, \citepの使い分けはまだわからない. \citet{jon90} --> Jones et al. (1990) \citep{jon90} --> (Jones et al., 1990) \citet*{jon90} --> Jones, Baker, and Williams (1990) \citep*{jon90} --> (Jones, Baker, and Williams, 1990) \citetは一続きの文で著者名を出しながら引用するときに使うのかな…

  • 章番号を参照した時に「1. 章」とドットが付く問題の解決法[Latex]

    問題: \ref で参照すると不要なドットが付く 電◯情報通信学会の日本語原稿を執筆していると,章番号を\refで参照した際に,不要なドットがついてしまう. \ref{sec:conclusion}章でまとめと今後の課題を述べる. ↓ 6. 章でまとめと今後の課題を述べる. ぐぬぬ「6章」と表示させたいのに変なドットが付いてしまう... 解決法:学会が提供するclsファイルを編集&プリアンブルを追加 まずは,学会が提供する ieicej.clsの2531行目辺りを以下のように編集する(該当部分は,Control+Fで"section"を検索して見つけても良い). \setcounter{sec…

  • 起動中のコンテナに別ターミナルからアクセス[Docker]

    docker exec -it my-container /bin/bash あるコンテナで学習を回すと,そのコンテナが結果出力で占有させてしまったので上のコマンドで, 2つ目のコンソールを立ちあげて,学習とLinuxの設定を同時に実施した.

  • CUIに出力を表示させずに起動[Jupyter]

    jupyter lab --no-browser --port=8888 --ip=0.0.0.0 --allow-root & Control+C を押してもサーバーが止まることは無くなる. しかし,Jupyter lab上でアクションがあると,ターミナル上に結果が吐き出される.

  • 初期設定[JupyterLab]

    pip install jupyterlab Node.jsの導入 curl -sL https://deb.nodesource.com/setup_12.x sudo -E bash - sudo apt-get install -y nodejs Variable Inspectorの導入 jupyter labextension install @lckr/jupyterlab_variableinspector

  • 研究をするのにオススメなDockerImage[随時更新][Docker]

    自然言語処理にオススメ github.com FlairやSpacyなどが含まれている GPUにも対応している Flairを使う場合,pip install -U pip と pip install -U flairでアップデートを行う必要がある.

  • NextCloudにコマンドラインでアクセス[NextCloud]

    今回は,NextCloudにコマンドラインでアクセスし,共有フォルダ内の情報参照とファイルのダウンロード・アップロードとファイルの共有リンクの発行を行う方法を紹介する. 共有フォルダ内の情報参照 LinuxやUnixのコマンドラインでcurlを使って情報を取得する. 構文 curl -u [ユーザー名] 'http://[ホストサーバーのIPアドレス]/remote.php/dav/files/[ユーザー名]/[参照先ディレクトリ]' -X PROPFIND 上のコマンドを打ち込んだ後,パスワードを入力すると,ごちゃごちゃとしたXMLでディレクトリ内の情報が返ってくる. 入力例 curl -u…

  • jupyter-notebookを起動する時のコマンド[jupyter]

    jupyter notebook --port=8888 --ip=0.0.0.0 --allow-root

  • 画像ギャラリーをワンクリックで作成[HTML]

    Arles Image Explorer をダウンロードする Webサイト用の画像ギャラリーを生成するツール「Arles Image Explorer」を下記のサイトからダウンロードし,インストールする. https://www.digitaldutch.com/arles/ 対応OSはWindows Arles Image Explorerを開くと,以下のような画面がでてくる. 画像をドラッグアンドドロップする 画像をドラッグアンドドロップし,アップロードを行うと,以下のような画面になる. 各種設定を行う 画像をアップロード後,左上のWeb Pageボタンを押して各種設定を行う. 今回は,ほ…

  • NLTKでアノテーター間の合意度(Inter Annotator Agreement)[NLTK]

    NERに使うタグ付けデータをアウトソースにより作成したのだが,アノテーションの信頼度が分からない. このため,NLTKでアノテーター間の合意度を算出した.これはその時のメモである. 3人のアノテーターが付けたラベルに対し,Cohen's kappa(1960)とKrippendorff alpha(1980)を算出してみる. from nltk.metrics import agreement toy_data = [['1', 5723, 'ORG'], ['2', 5723, 'ORG'], ['3', 5723, 'ORG'], ['1', 55829, 'LOC'], ['2', 55…

  • Git LFS のインストール手順[Git]

    curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh sudo bash sudo apt-get install git-lfs git lfs install 上の3ステップでインストール完了 そして、以下みたいなファイルがある場所で version https://git-lfs.github.com/spec/v1 oid sha256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx size 223178…

  • 学習を複数回繰り返した際にOMMがでたときの対処法[GPU]

    対処法 nvidia-smi からプロセスのPIDを確認し、kill コマンドでプロセスを消すと解消。 nvidia-smiコマンドを入力すると、下の方にプロセスがPID付で一覧表示される。あとは、kill PIDでプロセスを削除し、メモリを解放する。 上の画面だと、1252Mもメモリをくっているプロセス(PID=22322)をkill 22322で消すと、OMMエラーが解消された。

  • ラズパイを固定IP化するときは手持ちのルーターでDHCP固定割当をする[raspi]

    LAN(ローカル)環境でラズパイを使うときは,ルーターで設定をおこなうことでIPの固定化ができる. Buffaloのルーターでのやりかた www.buffalo.jp

  • sudo dpkg-reconfigure keyboard-configurationが再起動の度にリセットされる[Ubuntu]

    困りごと sudo dpkg-reconfigure keyboard-configuration Ubuntu16.04で上のコマンドをうちこんでも再起動の度に設定がリセットされてしまう。 対象法 設定ファイルを直接変更 /usr/share/ibus/component/mozc.xml <layout>○○<layout>を<layout>jp</layout> /etc/default/keyboard XKBMODEL=◯◯をXKBMODEL="pc105" XKBLAYOUT=◯◯をXKBLAYOUT="jp,jp" 参考 ja.stackoverflow.com

  • nvccとnvidia-smiのCUDAバージョンが違う[CUDA]

    下記に記事を見つけたので、後でまとめる。 stackoverflow.com

  • CrossRefAPIを使ってみる[CrossRefAPI]

    論文からのテキストマイニングをしてみたくなったので,様々な出版社のDOI情報を取得可能なCrossRefAPIを使ってみる. しかし,今は時間がないのでざっくりとまとめる. インストール方法 pip install crossrefapi クエリの指定方法 from crossref.restful import Works works = Works() w1 = works.query(title='deep learning') for item in w1: print(item['title']) クエリ一覧 github.com

  • failed: libcuda.so.1: cannot open shared object file: no such file or directory

    対処法 sudo apt-get install libcuda1-415 libcuda.so.1が無いことが原因。 github.com

  • JSONファイルを綺麗に表示する[JSON]

    まずは,jqをインストール. brew install jq 表示 cat result.json jq . { "hoge": { "precision": 0.9999999999990001, "recall": 0.9999999999990001, "f1_score": 0.9999999999940001 }, "hoge2": { "precision": 0.9999999999983333, "recall": 0.9999999999983333, "f1_score": 0.9999999999933333 }, "hoge3": { "precision": 0.…

  • Spyderでタブ補完でインデントされるときの対処法[Spyder][Python]

    Spyderを使っていて,TABキーを押したとき,補完ではなくインデントされる場合は, Preferences > Editor > Tab always indent のチェックを外す.

  • Jupyter labをDockerコンテナで使うときのコマンド[Jupyter]

    jupyter lab --ip 0.0.0.0 --allow-root

  • Flairでお気軽にNERを試す[Flair][NLP][NER]

    Flairが入ったDockerfileをcloneしてくる. git clone https://github.com/poteha/docker-nlp.git DockerfileからFlairのImageを作成 docker build -t nlp-gpu -f ./Dockerfile.gpu . 作成したImageからcontainerを立てる docker run -it --runtime=nvidia nlp-gpu:latest bash コンテナに入って,Flairのアップデートを行う pip install -U pip pip install -U flair `` …

  • Dockerのコンテナ・イメージの保存場所を変更[Docker]

    Docker のイメージやコンテナは標準設定だと /var/lib/docker に格納される. しかし, それではメインストレージの容量が膨らんでしまったときに収集がつかなくなってしまうので, サブのストレージに格納したい. まずはdockerを止める. $ sudo service docker stop $ sudo systemctl stop docker docker.serviceファイルをコピーし, Unitファイルを編集 sudo cp /lib/systemd/system/docker.service /etc/systemd/system/ /etc/systemd/s…

  • BERTコンテナを作ってDockerHubで公開してみた[Docker][BERT]

    最近,AWSやスパコンに触れる機会が多くなったので,スペックのベンチマーク用に汎用言語モデルBERTのDockerコンテナを作ってみることにした. BERTコンテナの仕込み 以下にBERTコンテナを構築するまでの流れを淡々と述べる. Tensorflow公式が提供するコンテナをインストールする. $ docker run --runtime=nvidia -it --name "bert" tensorflow/tensorflow:latest-gpu Pythonのバージョンを確認 python -V Python 2.7.12 このコンテナ,何故かpython2にしかTensorflow…

  • Docker Hubに自作Imageをアップする[Docker]

    まずはじめに,Docker Hubでアカウントを作成. 次に,イメージのIDを確認し,タグ付けを行う. docker tag xxxx yyyy/zzzz:latest xxxx: イメージID yyyy: Docker HubのID zzzz: イメージ名 Docker Hubにログイン. docker login --username=yyyy パスワードを聞かれるので入力. docker push yyyy/zzzz:latest 以上.

  • CUDAのパスを通す2行

    $ export CUDA_HOME=/usr/local/cuda $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${CUDA_HOME}/lib64

  • CUDA-cuDNN, Tensorflow-cuDNNの対応表

    Tensorflow - cuDNN https://www.tensorflow.org/install/source#common_installation_problems CUDA - cuDNN https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html

  • Your server does not have third-party cookies enabled [Cloud9][iPad Pro][AWS]

    ### 回避法ブラウザをSafariに変更。 「サイト越えトラッキングを防ぐ」という設定をオフにする。 https://support.apple.com/ja-jp/guide/safari/sfri40732/mac ※iOSの場合、上の設定は Chromeでは不可 https://support.google.com/chrome/answer/2790761?co=GENIE.Platform%3DiOS&hl=ja&oco=1 ### 状況 iPad ProからCloud9に接続したとき、Your server does not have third-party cookies en…

  • AWS-ECRでプライベートなDockerイメージを管理する[AWS-ECR]

    会社で研究をしていると社外へは決して出してはいけないコンテナを作ってしまうことがある. 世の中には,作成したコンテナをイメージ化して共有するDocker Hubなるサービスがある.しかし,Docker Hubは基本的にオープンなサービスなので,社秘のコンテナをアップするなどしたら,情報インシデント事故に発展してしまい,最悪クビになってしまう. そこで見つけたのがAWS-ECRである.ECRとはElastic Container Registry (ECR)の略で,AWSが提供するDockerコンテナレジストリなのである.ECRは,プライベートなので社秘のコンテナを扱うのには非常に都合後良いのだ…

  • 産総研のスパコンでPythonを使ってみた[HPC][ABCI]

    ABCIとは? 利用手順 事務処理 公開鍵の登録 ターミナルを開き,ポートフォワーディング 別のターミナルを開き,ABCIのログインノードに入る (参考)ポートフォワーディングとログインコマンドは./ssh/configに書いておくと楽 ABCIでPythonを利用してみる ABCIとは? 人工知能・機械学習・深層学習での使用を目的とした世界最大級のスパコン*1である. 利用手順 事務処理 ABCIを使用するにあたって各種事務手続きをしなければならない.筆者はこの辺よく知らないので割愛. 公開鍵の登録 事務処理後に送られてくるメールでABCIポータルのURLが送られてくるので,そこで公開鍵の登…

  • namacoを使って簡単にNERを動かしてみる[NER][NLP]

    現在テキストからの情報抽出についての業務に取り組む筆者は,予備検証用にNERを実行したかった. しかし,自然言語処理初学者の私がスクラッチからコーディングするとあっという間に日が暮れてしまう. なので,ネットサーフィンして使いやすそうなGit

  • MBPとAWSでAE-modelの学習速度比較[ML]

    Macbook Proを機械学習のローカル開発環境に使えないかと思ったのだが,学習速度が遅すぎると不便なので,GPU環境と比べてどれくらい遅くなるのかを事前に検証してみた. 検証するにあたって比較したのは,Macbook Pro (2018) とAWS EC2である. AWS-EC2 g3.8xlarge: 32 CPU, 2 GPU(Tesla M60, Mem 16 GB) MacBookPro: Intel Core i9(2.4 GHz, 8 core) 並べてみるとAWSのスペックの良さが際立つ.どこまでMacで太刀打ちできるのか楽しみだ.筆者は,速度が1/10くらいには落ちるのでは…

  • CUDA10.0ではなく10.1がインストールされてしまう[CUDA]

    TensorflowがCUDA10.0にしか対応していないので,最新の10.1では無い方をインストールした時の話. https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1604&target_type=debnetwork のベージからOSなどを選択した状態で出現する公式の手順にしてがってインストールしたところ,CUDA10.0ではなくCUDA10.1がインストールされてしまった.debパッケージも10.0のものを選択…

  • 汎用言語モデルBERTのpre-trainingを試す[NLP][BERT]

    本記事では,2018年秋に登場し話題になったBERTのpre-trainingをとりあえず動かしてみるまでをレポート. 今回は,google-researchのリポジトリのサンプルテキストを使って動かすまでを紹介する.今後,自作のテキストを使ってpre-trainingする予定があるので,その布石として手順を残す. BERTの実行環境を整える 過去書いた下の記事を参考に実行環境を整備する. vastee.hatenablog.com BERTのpre-trainingを実行 今回は,bertフォルダ内にあるsample.txtと$BERT_BASE_DIR/vocab.txtを使う. samp…

  • BERTにおけるテキストクレンジングを紹介[BERT]

    汎用言語モデルBERTを使用する際に,テキストクレンジングを行う関数を見つけ,読んでみると勉強になったので記事にしてみた. 参考にしたのは,Google Researchの実装である. github.com まず,BERTのコード(tokenization.pyのFullTokenizerクラスのtokenize関数の中)で見つけたテキストクレンジングの関数を以下に貼る. def _clean_text(self, text): """Performs invalid character removal and whitespace cleanup on text.""" output = […

  • 「データマイニング・機械学習分野の概要」を読んで参考になったこと[ML]

    神嶌 敏弘さんがご自身のHPで公開している「データマイニング・機械学習分野の概要」という資料が,深層学習の歴史と,国際会議の動向を知る上で大変役に立ったため,本記事では,スライドを読んで参考になったことをまとめてみる. まずは,資料へのリンクを貼らせていただく. www.kamishima.net 機械学習・データマイニング全般というメニューの中から,データマイニング・機械学習分野の概要」という資料が見つかるはずだ.変更があった際には,こちらのページに最新版をアップしているようだ. 以降,参考になったことをつらつらと書いてゆく. P9 データ分析に関わる分野の変遷 統計的機械学習のルーツがルー…

  • EC2のGPU付インスタンスでCloud9を使う[AWS][Cloud9]

    Cloud9を構築する際にデフォルトで選択できるインスタンスはCPUのものしかない. このため,筆者はGPU付きのインスタンスを別でたてて,そこにCloud9をインストールをしたのだが,色々とハマりポイントがあり,1週間ほどこの作業に費やしてしまったので,備忘録として本記事を作成する. EC2でGPU付きインスタンスを構築 AWSコンソールでインスタンスをたてる.基本的な方法は,ほかにも紹介記事がたくさんあるので割愛. 注意点① インスタンスのストレージを250GBくらいに変更しておくこと. デフォルトの値は8GBであったため,NVIDIAドライバをインストールするとすぐ容量いっぱいになってし…

  • EC2で環境を構築する際にNo space left on deviceになったときの対処法[AWS]

    AWSのEC2でKaggle用計算サーバーを構築しようと思い,Nvidiaのドライバをインストールすると,No space left on deviceのエラーがでた. df コマンドで容量を確認すると,ディスク上のファイル占有率が100%になっていた. これは困った.ディスクを小さくしすぎたか...もう一度インスタンスの立て直しからスタートなのかと途方に暮れながら,ネットで対策を探していると,なんとAWSではいったん立てたインスタンスのディスクのサイズを変更できるとのことなのだ! 早速,ELASTIC BLOCK STORE のボリュームのメニューから,該当のボリュームを選択し,ボリュームの…

  • LightsailでCloud9を構築[AWS][Cloud9]

    ブラウザで動くCloud9が使いやすいということを知り,好奇心に駆られインストールしてみることにした. AWS Lightsailでレンタルサーバーを借りる(有料) サーバーにNode.jsをインストールする(勿論無料) AWS Cloud9で新しいIDEをサーバー上に構築(無料) AWS Lightsailでレンタルサーバーを借りる(有料) まずは,以下のサイトを参考にしてAWS上にレンタルサーバーを借りる. このとき,私はOS:Ubuntu16.04で月$3.5のプランを選択したので最初の1か月間は無料のキャンペーンが適用された. qiita.com サーバーにNode.jsをインストール…

  • Herokuを試す際に大変役に立ったサイト[Heroku]

    自宅のデスクトップPCでスクレイピングのプログラムを回していたら,CPUクーラーの稼働音がうるさくて嫌になったので,サーバー上でプログラムを動かすことを決意し,手順をググる. そして,以下のブログに載っている手順が非常にわかりやすかったので,忘れないようにメモする. review-of-my-life.blogspot.com 分かりやすさのポイントとしては,Herokuでseleniumを動かしてGoogleのタイトルを出力させるという簡単なタスクを実行することを目標に手順が体系化されて説明されているので,説明を追っているだけでHerokuがどういうサービスなのか,何に応用できそうなのかが理…

  • sshでPermission denied (publickey).がでたときの対処法[GitHub]

    ~/.ssh/configに以下を追記しよう. Host github.com HostName github.com IdentityFile ~/.ssh/github/github_key User git 注意点:Host githubではなく,Host github.comを入力しよう.(巷のブログでは前者の方で書かれていることが多い) ~/.ssh/configの設定で,デフォルト以外の名前の秘密鍵でも読みに行ってくれる. ssh-keygenによる鍵生成でデフォルト以外の名前を設定すると,GitHubに公開鍵を登録した後,Permission denied (publickey)…

  • HerokuにPhantomJSをセットアップ[Heroku]

    $ heroku config:add BUILDPACK_URL=https://github.com/ddollar/heroku-buildpack-multi.git $ touch .buildpacks $ echo "https://github.com/heroku/heroku-buildpack-python" >> .buildpacks $ echo "https://github.com/stomita/heroku-buildpack-phantomjs" >> .buildpacks $ git add --all $ git commit -m "add pha…

  • heroku loginでcannot open browserが出た場合の対処法[Heroku]

    heroku login --interactive

  • LightsailでCloud9を構築[AWS][Cloud9]

    ブラウザで動くCloud9が使いやすいということを知り,好奇心に駆られインストールしてみることにした. AWS Lightsailでレンタルサーバーを借りる(有料) サーバーにNode.jsをインストールする サーバーにPythonをインストールする AWS Cloud9で新しいIDEをサーバー上に構築 AWS Lightsailでレンタルサーバーを借りる(有料) まずは,以下のサイトを参考にしてAWS上にレンタルサーバーを借りる. このとき,私はOS:Ubuntu16.04で月$3.5のプランを選択したので最初の1か月間は無料のキャンペーンが適用された. qiita.com サーバーにNod…

  • Pythonを3に切り替える[Ubuntu][Python]

    $ sudo mv /usr/bin/python /usr/bin/python2 $ sudo ln -s /usr/bin/python3 /usr/bin/python $ python --version Python2とPython3が既にインストールされたUbuntu環境が対象. pythonコマンドに貼られていたリンクを一旦削除し,python3へリンクを貼りなおすという手段で切り替えを行った.

  • importしたクラスがもつメソッド一覧を確認[Python]

    >> import requests >> url = "https://hoge.com" >> r = requests.get(url) >> [print(x) for x in dir(r)] __attrs__ __bool__ __class__ __delattr__ __dict__ __dir__ __doc__ __enter__ __eq__ __exit__ __format__ __ge__ __getattribute__ __getstate__ __gt__ __hash__ __init__ __init_subclass__ __iter__ __le__…

  • Ubuntu root のパスワードを設定した記憶が無いときにすること[Ubuntu]

    $ sudo su - # passwd Enter new UNIX password: [新しいパスワードを入力] Retype new UNIX password: [パスワードを再入力] passwd: password updated successfully

  • AWSのサーバーでJupyterを動かす

    AWSにサーバーを立てて、Jupyterをインストールした時のことをレポート。 まずは、LightsailでAWSにサーバーを立てる。 Lightsailサーバーのインストール自体はすごく簡単で、料金も月3.5ドル〜と安価なので、気軽に使えると思う。 aws.amazon.com 次に、立てたサーバーにsshログインし、 pip install jupyter を打ち込む。 次に、ipythonでJupyterログイン用のパスワードを生成。 ここで生成したパスワードは後で使うのでメモしておく。 ipythonコマンドを打ち込み、ipythonコンソールを起動。 以下のコマンドで、パッシュ化され…

  • \includegraphicsのエラーを解消するのに3時間かかった[Tex][OverLeaf]

    先に解決法 \usepackage{graphics}ではなく\usepackage{graphicx}を使ったら普通にコンパイルできた 以降本エラーに関する経緯をだらだらと書く OverLeafで図を挿入しようとして、以下のようなコマンドを書いた。 \usepackage{graphics} \begin{figure}[htbp] \centering \includegraphics[width=7cm]{fig/sample} \caption{This is figure.} \label{fig:sample} \end{figure} そして、コンパイルを行うと画面にいっぱいエラ…

  • dockerコマンドを打つのは時間がかかるのでエイリアスを活用しよう[Docker]

    Dockerを使うときにいちいちdocker ... と毎回打つのはめんどくさいですよね。 なので、エイリアスを活用してコマンドを短縮しましょう。 そして筆者は以下の4つのエイリアスを追加してみました。結果、作業がすごく捗っています。 他のブログなどを見ていると、10個くらいのエイリアスを追加している人が多いように感じたが、筆者はそんなに多くのエイリアスがあると意味を間違って大変な事故を起こしてしまいそうなので、高い頻度で使うコマンドだけを厳選して追加しました。 alias d='docker' # dockerといちいち6文字打つのが面倒なので設定。 alias ds='docker sta…

  • docker: Error response from daemonが出てハマった時の話[Mac][Docker]

    Macにdockerをインストールし、docker run --rm hello-world を打ち込むと、 docker: Error response from daemon: Get https://registry-1.docker.io/v2/library/hello-world/manifests/latest: unauthorized: incorrect username or password. のエラーが出た。 docker: Error response from daemonでググってみると、DNSの設定に関するエラーだという回答が多かった。 しかし、提示されている…

  • Proxy環境下でWebスクレイピング[request][BeautifulSoup]

    import urllib from bs4 import BeautifulSoup if __name__ == "__main__": proxy = urllib.request.ProxyHandler({'http': 'http://xx.xx.xx.xx:8080'}) opener = urllib.request.build_opener(proxy) url = "http://xx.xx" urllib.request.install_opener(opener) html = urllib.request.urlopen(url) soup = BeautifulSo…

  • Juliaでもglobは使える![Julia]

    Pythonでお世話になっているglob.*を使ってパターンマッチングしてくれるから,フォルダ内のファイルを読み込む際にとっても便利だ. そんなglobだが,実はJuliaでも同様のライブラリが存在する! これは使うしかない.ということでadd Glob(GlobのGは大文字なので注意)でインストールし,使ってみた. using Glob glob("./file/*.txt") >> 3-element Array{String,1}: ".\\file\\text1.txt" ".\\file\\text2.txt" ".\\file\\text3.txt" ワイルドカード*を使って,ファ…

  • ユーバスロイヤル高井田店の感想

    http://yu-bath.com/t-bath/ 天然温泉であるところは良い 庶民的なスーパー銭湯だった 駅から近い 中央線沿線上の高井田駅から徒歩で行ける 客層は近所の地元民 高井田のすぐ近くに繁華街があるわけではないので,うるさい中華系の観光客はいなくて寛げた. だけど地元客が多い分,子供が多くて騒がしいときもあり. あと,平日夜はそれほど混んでないようだ. 風呂場内が狭い それほど規模の大きいスーパー銭湯ではない 電気風呂あり お風呂後に落ち着いて過ごせるスペースが無い 総評 東大阪で宿をとったときには利用してみるといい。 天然温泉なので、出張の疲れがとれて良かった。 しかし、狭く騒…

  • ベルリンの全裸混浴サウナ「Vabali Spa Berlin」に行ってきた

    去年ドイツのサウナが混浴であることを知り,好奇心に駆られて現地まで行って男女混浴を体験してきたので,そのときのレポートを書く. 地元民に人気の「Vabali spa」に行くことにした ドイツに行く前の事前調査としてTrip Advisorでドイツにあるサウナを調べてみた.すると出てくる出てくるサウナの場所.結構多いんだな.調べた結果,地元民に人気らしい「Vabali spa」へ行くことに決めた. 「Vabali spa」は駅から徒歩で行ける混浴サウナ 「Vabali spa」はベルリン中央駅から徒歩14分ほどの場所にある. トラムを使えばベルリン中央駅から9分ほどで行ける.徒歩でも15分くらい…

  • フォーマット済み文字列リテラルの便利な使い方[Python]

    Python3.6から追加されたフォーマット済み文字列リテラルを便利に使ってるなあと思った事例をいくつか紹介. 今後も見つけるたびに追加していこうと思う. Bashのように{hoge}で変数を使う Kaggleで見かけた使い方 あるフォルダのしたのファイルを読み込むときに便利. 例 DATA_FOLDER = '../input' LABELS = f'{DATA_FOLDER}/train_labels.csv' TRAIN_IMAGES_FOLDER = f'{DATA_FOLDER}/train' print文に変数を埋め込んで使う >>> name = 'Fred' >>> age =…

  • defに付いてる->ってどういう意味?[Python]

    Kaggleのコードを読んでいると以下のような記法を見つけた. def greeting(name: str) -> str: return 'Hello ' + name ん? -> ってなんぞ? 調べてみると型に関する注釈をつける機能だということが分かった. 上の例だと,name: str で入力がstringであること,-> str. で関数greetingの出力がstringであることを示す. 関数に直接作用する記法ではなく,今のところあくまで可読性を上げるためのもののようだ. しかし,今後のアップデートで型にあっていなかった場合にエラーをだす機能も追加されそうな気もするので,押さえて…

  • CNNで足裏画像を分類してみた[CNN][Pytorch][自作データ]

    はじめに 日常生活でほとんどお目にかかることのない女性の足裏はとてもエロい.そして筆者はそういう画像を沢山収集したい欲があるのだ. だけど,ネットで足裏画像を収集するのは手間がかかる.なぜなら画像をアップするときにいちいち「足裏の画像ですよ」とは普通書かないから. そんな集めるのに手間がかかる足裏画像を自動で分類できれば捗るなあ.そう思って足裏画像の分類器をつくってみた. データの準備 本記事の目標は顔と足裏が映っている画像の識別だ.足裏だけではなく顔も映っている画像が好みなんだ私は. そしてTwitterやGoogleの画像検索を駆使し,足裏画像1,967枚,足裏以外の画像2,432枚をダウ…

  • CoNLL-2003の横についてる単語ってどういう意味?

    NER(固有表現抽出)の評価の際によくでてくるCoNLL-2003. データセットを眺めていると, 単語の横にPRP や B-NP, O などの記号が付いている. これってどういう意味なの? と思ったので調べてみた. まず, CoNLL-2003データセットの構造を下記に載せる. " " O O He PRP B-NP O said VBD B-VP O I PRP B-NP O would MD B-VP O really RB I-VP O enjoy VB I-VP O life NN B-NP O there RB B-ADVP O and CC O O that IN B-SBAR …

  • 汎用言語モデルBERTをつかってNERを動かしてみる

    本記事は,2018秋にバズった汎用言語モデルBERTをとりあえずつかってみたときのレポートである. このBERTというモデルをpre-trainingに用いると,様々なNLPタスクで高精度がでるようだ.詳細に関しては以下のリンクを参照. [1810.04805] BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding 早速手順に入る. 今回はdockerにBERT-NER専用のコンテナを構築するところから始める. まず,BERT-NER専用のコンテナを以下のコマンドで作成. GPUを使うの…

  • PDFを画像に変換する

    ImageMagickのconvertコマンドを使う。 convert -density 150 7181-attention-is-all-you-need.pdf[1] -quality 90 output.png 上を実行するとこんな画像が出力される。 ちなみに[]の中の数字はページ番号を表し、ページ番号の指定により、任意のページを画像に変換することができる。 output.png

  • コマンドラインでPDFから図を抽出

    Popplerの付属コマンド、pdfimagesを使う。 # Popplerが入って無ければ入れる # https://github.com/systemslab/popper/tree/master/cli pip install popper pdfimages -p -png hoge.pdf paper_fig を実行するとpaper_figに抽出された図が溜まる。 例えば、こんなペーパー(https://papers.nips.cc/paper/7181-attention-is-all-you-need.pdf)を入力すると、 こんな画像が抽出される。

  • Proxy環境下でpip[Python]

    pip install hoge --proxy http://your_proxy:8888

  • データをopenするときの第2引数 r+, w+, a+の違いって何?[Python]

    導入 "r+" と "w+" と "a+" における挙動の違い "r+" の場合 "w+" の場合 "a+" の場合 発展的な内容 Openした際のポインタ位置の違い f.read() した際の違い f.read() を行うとポインタはデータの末尾を指す 導入 Pythonでテキストファイルを書き込むときには,ファイルをopenしてから内容を読んだり書き込んだりする. # 例 with open("text.txt", mode="r") as f: text = f.read() このとき,openの第2引数には読み込みを指定するモード "r" と,書き込みを指定するモード "w" と,上書…

  • Pythonでテキストファイルを1行ずつ読み込む[Python]

    with open("text.txt") as f: for line in f: print(line) withを使いたくなければ, f = open("text.txt") for line in f: print(line) f.close()

  • データセット内の画像をひとまず見てみるためのコマンド[Kaggle]

    www.kaggle.com import os import numpy as np import pandas as pd from PIL import Image import matplotlib.pyplot as plt labels = pd.read_csv('../input/train_labels.csv') fig = plt.figure(figsize=(25, 4)) # display 20 images train_imgs = os.listdir("../input/train") for idx, img in enumerate(np.random.…

arrow_drop_down

ブログリーダー」を活用して、Vasteeさんをフォローしませんか?

ハンドル名
Vasteeさん
ブログタイトル
小粒な技術メモ
フォロー
小粒な技術メモ

にほんブログ村 カテゴリー一覧

商用