タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

Pythonとperformanceとmemoryに関するclavierのブックマーク (4)

  • 1100万行・32GB超の巨大CSVファイルの基本統計量を4GBメモリマシンで算出する - Qiita

    はじめに この記事は,Kaggle Advent Calendar 2022第6日目の記事になります。 記事では、 32GB超のCSVデータの基統計量を、小規模マシンでも省メモリかつ高速に計算するテクニック について解説します。 Kaggleコンペに限らず、 マシンスペックが低いため、大きなデータセットを満足に処理できず困っている 毎回行うファイル読み込みが遅いので、もっと高速化したい ⚡ といった悩みや課題を抱えている方の参考になれば幸いです。 モチベーション データ分析業務やKaggle等のコンペティションで初めてのデータセットを扱う場合、いきなり機械学習アルゴリズムを行うことはまず無く、最初にデータ観察を行うのが一般的です。 テーブルデータであれば、各カラムの基統計量(最小値、最大値、平均、分散、四分位数)などを計算・可視化し、データクレンジングの要否や特徴量設計の方針などを検

    1100万行・32GB超の巨大CSVファイルの基本統計量を4GBメモリマシンで算出する - Qiita
  • Pythonで省メモリに大量の文字列を扱う工夫 - MNTSQ Techブログ

    たくさんの文字列(や離散的な符号列)をメモリに載せないといけないんだけど、いろんな制約があって通常のList[str]では載らない…ということありませんか?(まぁあんまりなさそうですね) たまたまそういうことがあったので、その際に検討した内容をまとめておきます TL;DR メモリをもっと増やしましょう 富豪的に解決できるならいつでもそれが最高です しかし、世の中それでなんとかならんこともたくさんあります 用途があうのであれば専用のデータ構造を採用する 例えばもし共通のprefixやsuffixが存在し、順序に興味がなければtrie treeなどが使えます 例えば、弊社であれば、法人名をメモリに持ちたいなんてときもあります。そういうときに法人名の辞書をtrieで持ったりすることがあります 「株式会社」「一般財団法人」や「銀行」といった共通語がたくさんでてくるのでtrie treeでごりごり削

    Pythonで省メモリに大量の文字列を扱う工夫 - MNTSQ Techブログ
  • Pythonのメモリ使用量を減らすポイント - Qiita

    今回は、iXce’s blog » Blog Archive » Optimizing memory usage in Python: a case study という記事を見つけて興味深かったので紹介したいと思います。何も説明書いてないところがあるので、詳しく知りたい人は元記事を読んでほしいです。 動機 プレーンテキストをGコードに変換するプログラムを書いている 3.8MB (14万Gコード) のファイルを読み込むと、244MBもメモリを使ってしまう だからメモリ使用量を減らしたい やったこと プロファイル どこがメモリをたくさん使ってるのか調べるためにHeapyを使う $ pip install guppy で入れられる。 するとこんな感じの結果が出力される。 Partition of a set of 225737 objects. Total size = 115386656 by

    Pythonのメモリ使用量を減らすポイント - Qiita
  • Pythonで__slots__を使ってメモリを節約 - 西尾泰和のはてなダイアリー

    先日こんな実験をして、大量のオブジェクトを作った時にはそのオブジェクトが持っている__dict__の1048バイトが無視できなくなってくることを確認した: Pythonでメモリ消費量のプロファイルを取る 今日はその解決編。先日のコードに1行書き足してみよう。__slots__で始まる行がそれだ。 from guppy import hpy h = hpy() N = 100000 class Hoge(object): __slots__ = ['x', 'y', 'z', 'a', 'b', 'c'] def __init__(self): self.x = 1 self.y = 1 self.z = 1 self.a = 1 self.b = 1 self.c = 1 x = [Hoge() for x in range(N)] print h.heap() これによって、変更前ではH

    Pythonで__slots__を使ってメモリを節約 - 西尾泰和のはてなダイアリー
  • 1