メモです

メモです

Firestoreに改竄されたくない情報を書き込む

概要 - ReactみたいなSPAからFirestoreに改竄されたくない情報を書き込む - クライアント側で書き込むと想定外の部分までユーザが改竄できるため、それを防ぐ ex. userドキュメントのプロフィールだけを更新したはずが、悪意のあるユーザがUIDフィールドを改…

Firebase v9のFirestoreセキュリティルールでrequest.authが常にnullになる

【問題】 Firebase v9対応をしていたところ、以下のようなFirestoreのセキュリティルールが常にnullと評価されていたallow read: if request.auth != null;【解決方法】 firestoreをexporしている箇所で import { initializeApp } from 'firebase/app' impor…

Next.jsでFirebase Authenticationをやる(next-firebase-auth)

追記:有名なNextAuht.jsでも同じことができるのでそっちのほうがいいかも、、、。NextAuthは多機能すぎるのでこっちでもいいが、、、 zenn.dev next-firebase-authの概要 ・サーバ側でFirebaseのIDトークンの情報(Twitter認証していたらアイコンとかスクリ…

OAuth::Unauthorized 403 Forbiddenが出た

401の場合はAPIキーが間違ってる可能性があるが、403の場合は恐らくTwitterのCallbackURLの設定が間違っている。こっちから投げるrequestのCallbackURLと Authentication settingsで設定しているCallbackURLが一致してないと403を返す。 なお、RailsのWebCon…

Labelboxを使ってみた

・使いやすかった ・共同作業に強みがあるらしく、複数人でのアノテーションが可能。アノテーションした結果に、評価もつけられる。アノテーション結果をエクスポートすると、各アノテーションに対する点数もついてくるので足切りに使えて便利っぽい。 ・250…

PythonでYouTubeの動画や音声を保存する

インストール pip3 install youtube-dl 動画を保存 outtmplでファイル名指定(省略可) from __future__ import unicode_literals import youtube_dl url = 'https://www.youtube.com/watch?v=ANbGAMsEwSg' ydl_opts = { 'outtmpl':'hoge', } with youtube_dl.…

MacでJISキーボードを使う

・Karabiner-Elementsをインストール ・Karabiner-Elementsを起動してsimple-modificationsでFrom Keyに「grave_accent_and_tilde」をTo keyに「F13」を設定する ・システム環境設定(歯車のアイコン)を起動し、キーボードを開く ・キーボードの種類を変更を…

1-stage-wsegのバグとかエラーの殴り書き

github.com をやっとる。 ・pascal_vocのみに対応 ・pascal_voc.pyで学習データのフォーマットとかクラス数とかクラス名を定義しているっぽい。def __getitem__でクラスを取得している。 ・backboneをresnet101にするときはvoc_resnet101.yamlの「LR_SCHEDUL…

Google ColaboratoryでPYTHONPATHを追加する

import osos.environ['PYTHONPATH'] += ":/content/drive/My Drive/" /content/drive/My Drive/の部分を適宜変更する !echo $PYTHONPATH で追加できたか確認できる

COCO FormatからPascal VOC Formatに変換する

import cv2 import re from PIL import Image import io import json import os import numpy as np from tqdm import tqdm import requests #画像データのディレクトリ IMG_DIR = "./img/" #ラベル画像のディレクトリ LBL_DIR = "./lbl/" with open('input_…

Labelboxの出力をCOCO Formatに変換する

LabelBoxのアウトプットが独自フォーマットになったのとCOCOで出力できなくなったのと公式レポジトリの変換ツールが使えないので作った。正直いろんなサイトのやつを見て作ったのでオリジナリティはない。なお、for文でlabelboxのデータにアクセスするとたま…

tf-pose-estimationをGoogleColaboratoryでやる

準備 tf-pose-estimation/run.py at master · ildoonet/tf-pose-estimation · GitHub をダウンロードする。ファイル名はrun.pyにする。 run.pyをエディタで開いて88行目付近を plt.colorbar() plt.savefig('output.png') plt.show() に編集して保存する。 実…

tf-pose-estimationの各座標の表示

tf-pose-estimationの各座標はrun.pyでcommon.CocoPart.Background.valueとhuman.body_partsをfor文でまわして取得する。一枚の写真に複数人いることを考慮した設計なので注意。 座標のリストは以下 list= ["鼻","首","右肩","右ひじ","右手首","左肩", "左…

素人が思いつく国債を減らす方法がダメな理由

現状での理解をまとめた。 提案1 日本銀行券を大量に刷って借金を返す 基本的な知識 ・日本銀行券は日銀にとって借金である。いつでも貨幣に交換できることが国民に求められている。 ・日本銀行券が日銀の資産だとするとおかしくなる。サラ金で金を借りてそ…

Mask R-CNNのDemoをGoogleColaboratoryでやった。

Mask_RCNN/demo.ipynb at master · matterport/Mask_RCNN · GitHub をGoogleColaboratoryでやった。※!を行頭につけるとLinuxのコマンドを実行できる ※%が行頭についているのはIPythonのマジックコマンドMask R-CNN(keras)で人物検出 on Colaboratory - Qii…

CSSフレームワーク「Bulma」でnavbarの高さを変える

navbarのclassに「is-spaced」をつけると大きくなる.navbarのstyleにpaddingを設定すれば自由な高さになる .navbar { padding: 1rem 2rem; }

CSSフレームワーク「Bulma」でスマホでもnav-itemを表示したい

スマホ版でも表示したいnav-itemはnav-brandで囲む <div class="navbar-brand"> <a class="navbar-item" href="https://bulma.io"> <img src="https://bulma.io/images/bulma-logo.png" width="112" height="28" /> </a> <a class="navbar-item"> 重要情報 </a> </div>

CSSフレームワーク「Bulma」でのdiv要素の中央寄せ

テンプレートを何個か見たが <div class="column is-8 is-offset-2"> か <div class="column is-3 is-offset-3"> でやっている気がする。 coloumを使おうが使わまいがとりあえず中央寄せしたいdiv要素にclass="column is-8 is-offset-2"を適用させて中央寄せが楽っぽい</div></div>

慈善信託について

①日本のオリジネーターがケイマン諸島のSPCに無議決権優先株式を与える ②SPCがケイマン諸島の信託会社に株式を全て譲渡(慈善信託) ③SPCが用済みになると残余財産(1000ドル程度の資本金が残る)を慈善団体に寄付する ・ケイマン諸島の信託会社はSPCに何も指図…

田中コーパスの説明

田中コーパスとは何か 故田中康仁教授が作られた日英対訳コーパス(パラレルコーパス)。学生に1人あたり300個の文章を翻訳するように言って数年かけて収集したもの。その後、重複の削除などを経て15万文程度までに縮小した。 特長 ・146,784文が日本語と英語…

Error 'hoge.eps' not foundと出る

【状況】 epsファイルが確実にあるなのになぜかnot foundとエラーが出た 【環境】 エディター:Atom OS:macOS Mojave バージョン:Tex Live 2018 uplatexでbuild 【解決策】 epsファイルのファイル名を一度変更して、Texファイル内のも同じように適当に変更し…

Google Colaboratoryでフォルダ内のファイルを一括ダウンロード

※一部修正 ダウンロードしたいフォルダにcdで入って以下のコードを実行する。 サブディレクトリがある場合を考慮してないので注意。 from google.colab import files import os file_list = os.listdir(".") for file in file_list: files.download(file)

人狼 JIN-ROH の冒頭

あの決定的な敗戦から十数年。 占領軍統治下の混迷からようやく抜け出し、国際社会への復帰を図るべく高度経済成長の名の下に強行された急速な経済再編成がその実を結びつつある一方で、この国は多くの病根を抱えていた。 強引な経済政策が生み出した失業者…

StripeでNo such tokenが出る。

【状況】 Rails Checkout Guide をコピペして Testing にあるカード番号を入力したらno such tokenってエラーが出る。 【解決策】 テスト用カード番号に対応した専用のトークンがある。気付きにくいがタブで切り替えられる。 例えば「4242424242424242」を入…

SafariでscrollToのbehavior:smoothが動作しないので代わりに書いた

SafariでscrollToのbehavior:smoothが動作しないのでネットで見つけたサイトを参考にしつつ関数を作った。横方向にsmoothにスクロールする関数なのであまり使い道はない。 5とか15の数値は適当に決めた。 再帰を使うことで行数が減る。 const scroll_smooth_…

bakermatの読み方

英語圏の人は baker+matでベーカマットって発音しているっぽい。 そして、bakerはベーカーと表記されることが多い。 以下、事例。 0:25~ ベーカマット Bakermat Backstage - YouTube バーカマットっぽい… bakermat pronunciation: How to pronounce bakermat…

TensorFlow Neural Machine Translation (seq2seq) TutorialをWindows10+Cygwin64+PowerShellでやると大変だった

Windows10+Cygwin64+PowerShellで TensorflowのNMTのチュートリアル GitHub - tensorflow/nmt: TensorFlow Neural Machine Translation Tutorial をやったらきつかった。 以下、はまったとこのメモ ①「ImportError: attempted relative import with no known…

Synthetic and Natural Noise Both Break Neural Machine Translation

Synthetic and Natural Noise Both Break Neural Machine Translation https://arxiv.org/pdf/1711.02173.pdf 【概要】 トレーニングデータにノイズ(タイプミスとか)を混ぜるとBLEU値がどのような値を示すかを研究。 ↑ノイズが入るとBLEU値が下がる。 ↑ノイ…

NMTにおけるData Augmentation

Data augmentationとは ・画像処理における機械学習では、学習のために大量の画像を用意する必要がある。そこで仮に少ない画像データが少なかったとしても、最大限活用してするために使われているのがData augmentation(データの水増し、データ拡張) ・画像…

GWに読んだやつのメモ

Data Augmentation for Low-Resource Neural Machine Translation https://arxiv.org/pdf/1705.00440.pdf NMTにおけるデータセットの水増し方法 ポスター https://www.aclweb.org/anthology/attachments/P/P17/P17-2090.Presentation.pdf 日本語の解説 論文…