タグ

メモリに関するhimejimasandesuのブックマーク (5)

  • 【python】pythonでメモリ不足になったときにすること - 静かなる名辞

    最終更新:2018/11/26 はじめに pythonはLLですが、なぜかメモリを何十GBも消費するような(一般的なPCのリソースからすれば)大規模なデータ分析に広く使われています。このようなデータ分析では、往々にしてメモリ不足が生じ、それなりに配慮してプログラムを書かないとそもそもプログラムが走らない、MemoryErrorが出るといった事態が発生しがちです。 そういうときにやるべきことをつらつらと書いていきます。なお、下の方に行くほど邪悪度()が増していきます。 目次 はじめに 対策 メモリを増設する・システムのswap領域を増やす multiprocessingを使っているなら使うのをやめる、あるいはプロセス数を減らす 要らないデータはGCに回収させる リストは積極的にnumpy配列にする 疎行列型配列を使用する 32bitにする 配列処理は破壊的代入で行う numpyの機能に頼る

    【python】pythonでメモリ不足になったときにすること - 静かなる名辞
  • Pythonのプログラムをメモリ管理する。 - おいも貴婦人ブログ

    Pythonってメモリ使いすぎる...。てことで、標準モジュールのresourceを使って、使用メモリのサイズを制限しましょう。 #!/usr/bin/env python # coding:utf-8 import resource rsrc = resource.RLIMIT_AS soft, hard = resource.getrlimit(rsrc) ## Memory sizeの制限 ## 現在の設定を取得 ## softはユーザーで設定、hardはスーパーユーザーで設定できる。 soft = 1024 resource.setrlimit(rsrc,(soft,hard)) ## 1024バイト、-1はシステムで許されている上限を設定。 rsrc = resource.RLIMIT_CPU ## CPU使用時間の制限:単位(秒) resource.setrlimit(rsrc

    Pythonのプログラムをメモリ管理する。 - おいも貴婦人ブログ
  • Pythonで少なくメモリを使用する方法 - のんびりしているエンジニアの日記

    皆さんこんにちは お元気ですか。私は元気です。 今日はPythonにおけるメモリ少なく使う方法を紹介したいと思います。 なぜ、そんな方法を書くに至ったか。それは、こんなエラーをしょっちゅう見ているからですね。 Traceback (most recent call last): File "lasagne_wheal.py", line 48, in <module> prediction = model.predict_proba(np.array(X_test)) MemoryError 画像処理を行っている人間ならよくやりがちかもしれませんが、 要はint8で持っている情報をfloatに変換してデータが膨れ上がったことによってメモリが 不足していることから発生しています。 Convolutional Neural Networkを大きな画像で実施しようとするとよく発生するのではないで

    Pythonで少なくメモリを使用する方法 - のんびりしているエンジニアの日記
  • 重いバッチをどうしてもPHPで回したいときは | どらくろぐ

    バッチが重すぎる あるバッチ処理を回そうとしたとき、フレームワークがPHPであるため、それに準拠するためPHPでバッチ処理を記述する必要がでてきた。 こういうことは意外と多い。他の言語でやった方がいい場合ももちろんあるのだろうが、基的には既存フレームワークに乗っけるためにPHPで書いてしまう方が早い。設定散らばると死ぬ未来が見えるし。 もちろん、PHPはバッチ処理にはお世辞にも向いているとは言えない。お世辞どころか罵りたいレベルであるのだが、それでも実行したい状況は往々にしてあるものだ。 というわけでさくっとバッチ処理を書いてテストをしたところ、案の定メモリ使用量があっさり限界突破してしまった。 メモリ解放とは何だったのか まあ何はなくともとりあえずunset()とかしてみるわけだ。null代入とかもしてみるわけだ。しかし完全にスルーして増え続けるメモリ使用量。 調べてみたところ

  • phpでバッチ処理は控えるべき?メモリ解放しないよ。 - それマグで!

    アマゾンの検索をするとき、PHPでバッチ処理を書いた。PHPで大量のリクエストを発行してAmazonECS結果を見ていた。ふとメモリ消費量を見る。ちびりそうになる。メモリ消費量が上昇し続ける。unset()をしているが、メモリの消費量は変化しない。 立ち止まって考える。当たり前じゃないか。PHPはApacheのリクエスト毎に起動して、リクエスト終了時にメモリから全部消去される。バッチ処理が終わらないとメモリ解放されないのかね。処理が長くなれば不利じゃないか。繰り返し処理でメモリを再利用しない。なら、バッチの大量データを処理に不向きか。一応はコマンドラインで動きます程度なのね。 もし、PHPバッチ処理をするなら、バッチ処理の細切れな生成、消去を短時間に繰り返すしかないのね。 バッチ処理とは大量のデータを夜間などに処理する事。そう記憶している。他スクリプト言語も同じか。元もとメモリ管理が出来な

    phpでバッチ処理は控えるべき?メモリ解放しないよ。 - それマグで!
  • 1