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

人工知能

ジョナサン・ダムブロット、Cranium AIのCEO兼共同創設者- インタビューシリーズ

ジョナサン・ダムブロットは、Cranium AIのCEO兼共同創業者ですCranium AIは、サイバーセキュリティおよびデータサイエンスチ...

人工知能

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

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

人工知能

「Kognitosの創設者兼CEO、ビニー・ギル- インタビューシリーズ」

ビニー・ギルは、複数の役職と企業を横断する多様で幅広い業務経験を持っていますビニーは現在、Kognitosの創設者兼CEOであり...

人工知能

「15Rockの共同創業者兼CEO、ガウタム・バクシ氏によるインタビューシリーズ」

「ガウタム・バクシは、気候リスク管理とアドバイザリーサービスのグローバルリーダーである15Rockの共同創設者兼CEOですガウ...

人工知能

「リオール・ハキム、Hour Oneの共同創設者兼CTO - インタビューシリーズ」

「Hour Oneの共同創設者兼最高技術責任者であるリオール・ハキムは、専門的なビデオコミュニケーションのためのバーチャルヒ...

人工知能

Aaron Lee、Smith.aiの共同設立者兼CEO - インタビューシリーズ

アーロン・リーさんは、Smith.aiの共同創業者兼CEOであり、AIと人間の知性を組み合わせて、24時間365日の顧客エンゲージメン...