Instantly share code, notes, and snippets.

🌴
On vacation

catindog/nardtree GINK03

View GitHub Profile
View pytorch_matrix_factorize_model.py
class MF(nn.Module):
def __init__(self, input_items, input_users):
super(MF, self).__init__()
print('item size', input_items)
self.l_b1 = nn.Embedding(num_embeddings=input_items, embedding_dim=768)
self.l_b2 = nn.Linear(
in_features=768, out_features=512, bias=True)
self.l_a1 = nn.Embedding(num_embeddings=input_users, embedding_dim=768)
self.l_a2 = nn.Linear(
in_features=768, out_features=512, bias=True)
View python_logger.md

基本入れるべき

import logging

logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO)
# create a file handler
handler = logging.FileHandler('work.log')
handler.setLevel(logging.INFO)
View bert-pretrained-example.md

BERTでpretrainedで予想するだけ

(学習がとても重いと、トークナイズができていないようで日本語は今の所後回しでいいともう)

REFERE: https://github.com/huggingface/pytorch-pretrained-BERT/blob/master/pytorch_pretrained_bert/tokenization.py

import torch
from pytorch_pretrained_bert import BertTokenizer, BertModel, BertForMaskedLM
View graphapi.md
View dockerでファイルシステムをマウントして使う.md

こんなふうになるものなるものらしい。

ホスト側のdb_dataはパーミッションを気にしなくてはならない!

 docker run -p 1022:22 -it \
  --mount type=bind,source="$(pwd)"/db_data,target=/db_data \
  --mount type=bind,source="$(pwd)"/db_sec,target=/db_sec \
  --mount type=bind,source="$(pwd)"/db_srb,target=/db_srb \
  nardtree/solid-scraper server.py 
View lightgbm-kfold-nlp.md

scipy sparseのlilでくみたててcsrに変換し、np.float32なら学習できる

※ : https://github.com/GINK03/ai_news/blob/master/cold_start_modeling/train.ipynb

import pickle
import pandas as pd
import numpy as np
from scipy.sparse import csr_matrix
lil = pickle.load(open('lil.pkl', 'rb'))
csr  = csr_matrix(lil).astype(np.float32)
View PDFの論文で改行を削除する.md

Google 翻訳利用時に英語論文のPDFにコピペする際の問題

PDFの改行をパースしてしまい、翻訳が適切に行われない

Macだと、以下のコマンドで、クリップボード領域のコピペ情報から、改行を消すことができる。

$ pbpaste |tr '\n' ' '| pbcopy

シェルスクリプトに書いておいて、登録しておくと便利

View Linuxでパスワード認証をユーザ単位で無効化してssh認証にする.md

Private Keyを.ssh/authorized_keysに書き込む

$ dummy@Akatsuki:~/.ssh$ cat > authorized_keys
....hogehoge....

600permission

$ dummy@Akatsuki:~/.ssh$ chmod 600 authorized_keys
View bisect.md

木系のアルゴリズム

bisect

O(n)で順序をソート維持しながらソートできる

ex

こんな感じ

insert indexが帰ってくる

View lightgbm-gain.md
def __getImp__(model):
    split = dict(zip(model.feature_name(), model.feature_importance('split')))
    split = pd.DataFrame.from_dict(split, orient='index')
    split.columns = ['split']
    
    gain = dict(zip(model.feature_name(), model.feature_importance('gain')))
    gain = pd.DataFrame.from_dict(gain, orient='index')
    gain.columns = ['gain']