Loguru プリントのようにシンプル、ログのように柔軟
Loguru Simple as printing, flexible as logs.
データサイエンスプロジェクトのためのシンプルなログ記録ソリューション
元記事: 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]
コードを本番環境に展開する際、デバッグ用の行を手動で削除することは手間がかかり、エラーの原因となる可能性があります。
- 「10ベストAIゲームジェネレーター(2023年7月)」
- Python例外テスト:クリーンで効果的な方法
- Agents.jsをご紹介します:JavaScriptを使用して、あなたのLLMにツールを提供します
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!
Was this article helpful?
93 out of 132 found this helpful
Related articles