Loguru プリントのようにシンプル、ログのように柔軟

Loguru Simple as printing, flexible as logs.

データサイエンスプロジェクトのためのシンプルなログ記録ソリューション

Image by Author

元記事: https://mathdatasimplified.com、2023年7月17日に公開

データサイエンスプロジェクトでログを使用する理由

データサイエンティストは、コードをデバッグするためにしばしばprint関数を使用します。しかし、print文の数が増えるにつれて、出力がどこから来たのかを特定することが難しくなります。行番号や関数名がないためです。

def encode_data(data: list):    print("データをエンコードする")    data_map = {'a': 1, 'b': 2, 'c': 3}    print(f"データマップ: {data_map}")    return [data_map[num] for num in data]def add_one(data: list):    print("1を加える")    return [num + 1 for num in data]def process_data(data: list):    print("データを処理する")    data = encode_data(data)    print(f"エンコードされたデータ: {data}")    data = add_one(data)    print(f"1を加えた結果: {data}")process_data(['a', 'a', 'c'])

出力:

データを処理するデータをエンコードするデータマップ: {'a': 1, 'b': 2, 'c': 3}エンコードされたデータ: [1, 1, 3]1を加える1を加えた結果: [2, 2, 4]

コードを本番環境に展開する際、デバッグ用の行を手動で削除することは手間がかかり、エラーの原因となる可能性があります。

def encode_data(data: list):    print("データをエンコードする")    data_map = {'a': 1, 'b': 2, 'c': 3}    return [data_map[num] for num in data]def add_one(data: list):    print("1を加える")    return [num + 1 for num in data]def process_data(data: list):    print("データを処理する")    data = encode_data(data)    data = add_one(data)process_data(['a', 'a', 'c'])

ログ記録は、この問題に対する完璧な解決策を提供します。データサイエンティストは、出力のために異なるレベル(デバッグ、情報、警告、エラー)を指定することができます。

def encode_data(data: list):    logger.info("データをエンコードする")    data_map = {'a': 1, 'b': 2, 'c': 3}    logger.debug(f"データマップ: {data_map}")    return [data_map[num] for num in data]def add_one(data: list):    logger.info("1を加える")    return [num + 1 for num in data]def process_data(data: list):    logger.info("データを処理する")    data = encode_data(data)    logger.debug(f"エンコードされたデータ: {data}")    data = add_one(data)…

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

データサイエンス

アステラソフトウェアのCOO、ジェイ・ミシュラ - インタビューシリーズ

ジェイ・ミシュラは、急速に成長しているエンタープライズ向けデータソリューションの提供企業であるAstera Softwareの最高執...

人工知能

ムーバブルインクのCEO兼共同創設者であるヴィヴェク・シャルマ氏についてのインタビュー・シリーズ

ビヴェクは2010年にムーバブルインクを共同設立し、急速な成長を遂げながら、600人以上の従業員を擁し、世界有数の革新的なブ...

人工知能

「コマンドバーの創設者兼CEO、ジェームズ・エバンスによるインタビューシリーズ」

ジェームズ・エバンズは、CommandBarの創設者兼CEOであり、製品、マーケティング、顧客チームを支援するために設計されたAIパ...

AIニュース

Q&A:ブラジルの政治、アマゾンの人権、AIについてのGabriela Sá Pessoaの見解

ブラジルの社会正義のジャーナリストは、MIT国際研究センターのフェローです

人工知能

ファイデムのチーフ・プロダクト・オフィサー、アルパー・テキン-インタビューシリーズ

アルパー・テキンは、FindemというAI人材の獲得と管理プラットフォームの最高製品責任者(CPO)ですFindemのTalent Data Clou...

データサイエンス

「3つの質問:ロボットの認識とマッピングの研磨」

MIT LIDSのLuca CarloneさんとJonathan Howさんは、将来のロボットが環境をどのように知覚し、相互作用するかについて議論し...