2016-10-01から1ヶ月間の記事一覧
正しくはEBSのサイズは変わっているけどパーティションのサイズが変わってないので 使える容量は増えない。以下のコマンドを実行する必要がある。 sudo growpart /dev/xvda 1 sudo resize2fs /dev/xvda1 参考: qiita.com
以下のように一旦setにしてまたlistに戻せば良い。 list(set(ary)) 参考: note.nkmk.me
精度はデフォルトで64bitだが、以下の本には16bitでもほとんど精度は落ちないと書いていたので精度を下げてみた。 ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装作者: 斎藤康毅出版社/メーカー: オライリージャパン発売日: 2016/0…
何もしなくても全GPUを使って学習してくれるかと思ってたけどそうではなかった。 以下のようにしてGPU数を渡してやると全GPUを使ってくれる。 def get_available_gpus(): local_device_protos = device_lib.list_local_devices() return [x.name for x in lo…
色々原因はあるだろうけど、今回はセキュリティグループもルートテーブルも正しく設定しているのになぜ。。 と思ったら、ルートテーブルの設定は反映されるまで多少時間がかかるっぽい。 ルートテーブルの設定変更から数分経ったら直った。 そんなことあるの…
GPU使用率を調べる。 nvidia-smi -l マシンについているGPUの情報を調べる。 lspci | grep -i nvidia 参考: qiita.com askubuntu.com
Elastic Inferenceには以下の制約がある。 ・EC2一つに対して一つしかGPUをアタッチできない ・EC2起動時しかアタッチできない ・デタッチできない。使うのをやめる場合はインスタンスを終了しないといけない いや、普通にGPUインスタンス起動した方がいいで…
以下のログが大量に出る問題。 2019-02-27 10:46:30.637017: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1115] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 10758 MB memory) -> physical GPU (device: 0, nam…
最初はEBSに全部置いていたが、すぐに容量がいっぱいになってしまった。。 今のところ以下が良さそう。 データの原本・前処理結果・モデルはすべてS3に保存する 学習時にS3から学習データを取得する。その際インスタンスストアにキャッシュする。二回目以降…
インスタンスストアとEBSの違いがよくわかってなかったのでこんな違うと思わなかった。。 シーケンシャルリードで3倍程度の差がある。 EBSはネットワークストレージなので転送速度は低いようだ。 参考: dev.classmethod.jp
du --max-depth=7 /* | sort -n を実行すると大きい順にソートしてくれる。 いっぱい出てくるのでこんな感じでテストデータなどを置いてるフォルダだけに絞ってもいいかも。 du --max-depth=7 /* | grep work | sort -n 参考: serverfault.com
ダウンロード先サーバが落ちてるのが原因らしい。 以下のようにしてキャッシュフォルダにMNISTを直接ダウンロードしてからfetch_mldataを実行すると直る。 cd ~/scikit_learn_data/mldata wget https://github.com/amplab/datascience-sp14/blob/master/lab7…
原因はndarrayのdtypeがfloatになっていることだった。 ary.astype(np.uint8)を使ってuint8に変換すると直った。 参考: stackoverflow.com
原因はModelのコンストラクタの引数名にinputを使っていることだった。ver2からinputsになったので、ver1のサンプルコードをコピペしてver2の環境で動かすとこういうエラーになる。 参考: github.com
理由は以下。なるほど。。 fitで計算しているlossはミニバッチ単位でのlossで、evaluateは全学習データに対するlossだから Dropoutレイヤは学習時のみ動作するため 参考: stackoverflow.com github.com
原因はinputレイヤが定義されていないこと。 以下のような感じでInputレイヤを定義すると直った。 model.add(Flatten(input_shape=(299, 299, 3))) 一番最初のレイヤをDenseからFlattenにした時にinput_shape引数も移さないといけなかったのが漏れてた。。 …
以下のようにstr()にただbytesを渡すとb'aaa'という文字列になってしまう。 b = b'aaa' str(b) encodingを指定するとaaaという文字列になる。 b = b'aaa' str(b, encoding='utf-8') この仕様は何なんだ。。 参考: qiita.com
原因はdictの中にbytes型オブジェクトが含まれているため。以下のようにしてstrにしてから渡すと直った。 dic["key"] = str(bytes_item) 参考: stackoverflow.com
転移学習する場合、base modelの重みは固定することが多いということもあり、 base modelの学習時と同じ前処理を時前の学習データにもすべき。 tensorflow.python.keras.applications.inception_resnet_v2.preprocess_input のように、各base modelのモジュ…
クラスメソッドさんがいい記事を書いているのでこれを参考にやってみるといいと思います。 dev.classmethod.jp ランダムに色んな効果を適用したい時に便利。 github.com pip install imgaugで入れるとscikit-imageがバグってるバージョンが入ってエラーにな…
PyCharmはデフォルトで/tmp下にフォルダを作ってそこにソースコードを置くので EC2インスタンスを再起動したら消えててびっくりした。 /home/ubuntu下に置くか。。 参考: askubuntu.com
原因はIPアドレスが間違っていることだった。なんと初歩的な。。 参考: qiita.com
以下のようにSessionを開始してTensor.eval()を実行すればいい。 sess = tf.Session() with sess.as_default(): X_train_color = X_train_tensor.eval() X_test_color = X_test_tensor.eval() X_valid_color = X_valid_tensor.eval() Tensor flowのresizeな…
原因というか、何が悪いかはよく分からないがTensorBoardの引数の histogram_freq=1 を histogram_freq=0 にすると直った。 TensorBoardかTensor flowかKerasのバグかな。。 エラーメッセージからこの解決策に全然たどり着けず、結構ハマッた。。 以下のIssu…
boto3に普通にありそうな機能だけど見付からなかったので実装。 def download_object_from_s3(remote_path: str) -> io.BytesIO: """S3からオブジェクトをダウンロードしてreturnする Args: remote_path (str): ダウンロード元のS3のパス Returns: S3からダ…
self.contentがio.BytesIOオブジェクトとすると以下のようなコードで変換出来る。 def get_content_str(self) -> str: content_str: str = self.content.read().decode('UTF-8') self.content.seek(0) return content_str readするたびにseek(0)しないといけ…
以下の記事でnumpyのバージョンを1.15.4にすると直ると書いたけど、numpyのバージョンを変えるとTensor flowのバージョンも変えないといけないのでやっぱりやりたくない。。 anton0825.hatenablog.com 原因はscikit-imageのバグ。0.14.1がバグってるので0.14…
原因はimgaugが依存しているscikit-imageのバグ。 numpyのバージョンを1.15.4にすれば一旦回避できる。 importの名前が間違ってるバージョンをリリースするとかあり得ないでしょ。。 参考: github.com github.com
WinSCPなどでPagentを使って認証するよう設定しているがPagentが起動されていないことが原因だった。。 Windowsを再起動したらPagentが起動されてない状態になり、認証に失敗してた。 Pagentを起動するか、Pagentを使わずに認証するよう設定することで直った…
fit前までは以下のようなコードでOK。Sequentialにlayer渡して後続のnetworkを定義出来るのは便利だなぁ。 最初にaddするlayerはDenseに繋げるためにFlattenにしている。 base_model = tf.keras.applications.vgg16.VGG16(weights='imagenet', include_top=F…