2017-04-01から1ヶ月間の記事一覧
S3からデータを読み込む時に以下のログが出る。 2019-11-18 11:36:44.626135: W tensorflow/core/platform/s3/aws_logging.cc:57] Encountered Unknown AWSError InvalidRange The requested range is not satisfiable: 2019-11-18 11:36:44.626177: W tenso…
以下でできた。 s3: ServiceResource = boto3.resource('s3') bucket = s3.Bucket(bucket_name) bucket.meta.client.get_bucket_location(Bucket=self.bucket_name)['LocationConstraint'] 参考: stackoverflow.com
setterは生成しないのがあるべきと思ったが、生成される。。 Issueはあるけど2ヶ月以上放置されているので今後も直る可能性は低そう。 参考: github.com
none_item: None float_item: 1e-09 上記のようにyamlを定義してPyYamlで読み込むと。それぞれ'None', '1e-09'という文字列になってしまう。。 なので、以下のように修正した。 none_item: # None float_item: 0.000000009 もっといいやり方ないのかねぇ。。…
原因は aws configure コマンドで設定したシークレットアクセスキーなどの情報が間違っていたため。 IAMロールで権限を与えていたのでそもそもaws configureは不要だった。なので、.awsフォルダを削除したら直った。 参考: qiita.com
tensorflowのtf.data.TFRecordDatasetにS3に置いたTFRecordのパスを渡すと読み込んでくれるという機能がある。 github.com これを使うと curl returned error code 77 が出た。77はSSL証明書のエラーらしい。 curl.haxx.se 今回はEC2からのアクセスで、man i…
今までEC2-S3間の通信はAWS内のみ通ると思っていたけど、VPCエンドポイントがない場合、一度インターネットに出るらしい。 そうすると通信速度が落ちるしセキュリティ的にも問題になりうるので VPCエンドポイントは必ず作るようにしておかねば。。 参考: ht…
前はIDE上で図が見えたんだけど、なぜか何も表示されなくなった。。 import matplotlib matplotlib.use('TkAgg') をmatplotlibをimportする前に実行すると表示されるようになった。けど、別窓で表示されるのでちょっと不便。 参考: teratail.com
他の言語では部分一致になることが多いと思うが。。 部分一致にしたい場合はre.searchを使う。 参考: note.nkmk.me
1001以上取得したい場合はループを回す必要がある。例は以下。 def list_all_contents(self, prefix: str = ''): next_token = '' base_kwargs = { 'Bucket': self.bucket_name, 'Prefix': prefix, } all_contents: List[dict] = [] while next_token is not…
これ知らなかった。。コードを見た方がわかりやすいと思う。例は以下。 >>> def parrot(voltage, state='a stiff', action='voom'): ... print("-- This parrot wouldn't", action, end=' ') ... print("if you put", voltage, "volts through it.", end=' '…
現象は以下。 インスタンスタイプはg4dn.xlarge 同じリージョンのS3バケットからEBS gp2にダウンロードする aws s3 cpコマンドで実行 このとき、 最初:210MB/s⇒5GBぐらいから速度が下がり始める⇒10GBを越える頃には150MB/sぐらい のように速度が変化する。 …
以下のようにVPCエンドポイント指定で権限を付けられる。 { "Version": "2012-10-17", "Id": "Policy1415115909152", "Statement": [ { "Sid": "Access-to-specific-VPCE-only", "Principal": "*", "Action": "s3:*", "Effect": "Deny", "Resource": ["arn:a…
.imlファイルはコミットしてチームで共有することが推奨されているのでコミットしているが、 この中にコンパイラ・インタープリタの設定も入っていてその名前が人によって自由に決められるので そこで差分が出て困る。。 以下で「インタープリタの名前をPyth…
AutoScalingしている時にOOMが発生するとサーバが落ちてAutoScalingGroupがサーバを消す。 なので、-XX:+HeapDumpOnOutOfMemoryError JVMオプションを設定していてもヒープダンプファイルがEBSもろとも消えてしまう。 消える前にS3にアップロードさせたいが…
Metaspaceとは、クラスやメソッドの情報を格納しておく領域。ヒープ外にあるので、-Xmxを設定していても必要に応じていくらでもメモリを確保しにいく。 software.fujitsu.com なので、クラスを動的に読み込むようなアプリでは-XX:MaxMetaspaceSizeを設定して…
今まで以下のクライアントを使ってきたけど、どれもいまいちだった。 ・Putty 使いづらい ・WSL付属のssh WSLのファイルはWindowsから編集するとWSLから見えなくなるのでだめ。 いちいちWSLに入らないといけないのもちょっとね。。 あと、バージョンが古いの…
ファイルに保存したくない、と言う場合、以下のようにかく。 s3_client = boto3.client('s3') s3_response_object = s3_client.get_object(Bucket=BUCKET_NAME_STRING, Key=FILE_NAME_STRING) object_content = s3_response_object['Body'].read() 参考: st…
dataset = tf.data.TFRecordDataset(filenames=s3_paths, num_parallel_reads=num_parallel_calls) のように、S3オブジェクトのパス(s3://~)を渡すと、TF側でS3からデータをダウンロードしてくれる。便利。 参考: github.com tensorflow.classcat.com
EC2サーバ上でプログラムを実行したい、その時に、tensorflow_p36仮想環境で実行したい。実行はPyCharmから行いたいという場合。 Configure Remote Python InterpreterウィンドウのPython Interpreter pathに以下のように、仮想環境のpython実行ファイルのパ…
原因はわからないけど、Invalidate Cachesを実行すると直った。 参考: stackoverflow.com
フォーマットしてないのが原因。以下のようなコマンドでフォーマットすると直る。 mkfs -t ext4 /dev/sdg 参考: ex1.m-yabe.com
EFSの通信速度がどう決まるかわかりにくかったけど、まとめると以下っぽい。 ・バーストすると、通信速度がEFS使用量(GB)/100 [MB/s]になる。但し、最低は100MB/s。 ・EFS使用量が少ないとバーストできる時間も短くなる。 ・EFSを作ってすぐは2TB転送するま…
AIの学習に時間がかなりかかるので高速化したい。 データセットが大きいので、通信速度を上げる方法を調べた。速度を上げるためには Data Localityを意識することが大事。以下の記事は参考になりました。 missinglink.ai 調査結果 【S3】 リージョンをまたい…
TRIMMEAN関数でできる。こんな関数あるんだ。知らなかった。。さすがエクセル。 参考: dekiru.net
キーボードの再生キーなどを触るとchromeのポップアップが出て鬱陶しいので、無効化したい。 chrome://flags をアドレスバーに入力し、 Hardware Media Key Handling をdisableに変更すると無効化できた。 参考: www.addictivetips.com
cloud initが想定通り動かない場合、 /var/log/cloud-init-output.logに出ているログを確認してデバッグする。 参考: docs.aws.amazon.com
EBSの速度について検索すると、最大500MB/sぐらいだという記事がよくひっかかるけど、 実はしばらく前にパフォーマンスが改善されて最大1GB/sになったらしい。 今まで勘違いしてた。。公式ドキュメントを当たらないとだめだな。 参考: aws.amazon.com
S3はバケット毎に特定のリージョンに保存されるので、そのリージョンのEC2からは速くダウンロードできる。 リージョン同士の通信速度の測定結果は以下。 blog.overops.com 調べた範囲では2014年時点のものしか見当たらなかったけど、参考になる。
原因はスクリプトが開発された環境と実行環境のpythonのバージョンがずれていること。 python3用スクリプトをpython2で実行しているのがまずいので、python3を入れて実行したら直った。 しかし、 Amazon Linux AMI 2018.03.0 (HVM), SSD Volume Type がpytho…