この記事はWeChatの公開アカウント「Python Technology」から転載したもので、著者はPai Senjiangです。この記事を転載する場合は、Python Technology Public Account にお問い合わせください。 アルゴリズムを書くときは、常に各行の各変数を 1 つずつデバッグする必要があり、場合によっては複数の print を記述する必要があります。アルゴリズムの問題を理解するには長い時間がかかります。 pysnooper モジュールは、操作中に変数の値を出力できます。 モジュールのインストール
簡単な例簡単な例として、簡単な演繹アルゴリズムの問題を示します。
結果:
pysnooper は、行番号、行の内容、変数の結果など、実行プログラム全体を記録していることがわかります。このアルゴリズムの実際の状況を簡単に理解できます。また、コードをデバッグするために debug や print を使用する必要もありません。時間と労力を節約できます。メソッドの上に @pysnooper.snoop() という行を追加するだけです。 複雑な使用pysnooperには複数のパラメータが含まれています。見てみましょう 出力 出力はデフォルトではコンソールに出力され、設定後はファイルに出力されます。サーバーで実行する場合、特定の時間にコードの問題が発生した場合にエラーの場所を特定しやすいですが、そうでない場合は途方に暮れやすくなります。実際、私はこの問題に何度も悩まされ、そのたびに大量の髪の毛が抜け落ちました。
結果の例: ウォッチとウォッチ_explode watch は、追跡のために非ローカル変数を設定するために使用されます。watch_explode は、すべての設定された変数が監視されるのではなく、未設定の変数のみが監視されることを意味します。これは、watch とまったく逆です。
結果例 監視パラメータが追加されていません
ウォッチパラメータを追加すると、Starting var:.. indexになります。
深さ depthは関数の深さを監視します
結果例
監視結果では、呼び出された関数を監視すると、レコードにインデントが追加され、そのローカル変数と戻り値が印刷されることがわかります。 接頭辞 プレフィックス 出力コンテンツのプレフィックス
結果例
相対時間 relative_time コードが実行される時間
結果例
最大変数長 max_variable_length 出力変数と例外の最大長。デフォルトは 100 文字です。100 文字を超えると切り捨てられます。出力を切り捨てないようにするには、max_variable_length=None を設定します。
結果例
要約するこの記事では、pysnooper ツールの使い方を紹介します。pysnooper はデバッグと印刷を減らすだけでなく、アルゴリズムの問題を理解するのにも役立ちます。 |
<<: IEEE年末AIレビュー:ネットユーザーがGPT-3に悪態をつくよう教える、DeepMindが再びロボットを作る
>>: 中国の教授が犯罪認識率97%の人工知能「検察官」を開発、現在テスト中
農業の世界は、世界の市場に革命を起こすであろう驚異的な技術である作物収穫ロボットの登場により、パラダ...
1. 運用最適化とは何ですか?オペレーションズ・リサーチは、数学、コンピューターサイエンス、経営学の...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
[[422893]] 01 人工知能アラン・チューリングは人工知能を次のように定義しました。カーテン...
[[202009]]導入Raft アルゴリズムは分散コンセンサス アルゴリズムです。 Paxos ...
[51CTO.com クイック翻訳] 機械学習を使用する開発者の間での議論のほとんどは、AI ベース...
機械学習にはさまざまな側面があり、調査を始めたときに、特定のトピックの要点を簡潔にリストしたさまざま...
導入:コード生成は、プログラマーの生産性を大幅に向上させる可能性を秘めた重要な AI 問題です。自然...
[[400902]]この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI...
8月10日、国家知識産権局商標局の公式サイトによると、OPENAI OPCO, LLCは先月末に2...
Microsoft Research は、消費者の手に握られたスマートフォンのカメラを使用して、遠隔...
スマートテクノロジーをどのように活用するのでしょうか?ほとんどのテクノロジー製品は、特にワイヤレス接...
センサーフュージョンは、自動運転車の重要な技術の 1 つです。これは、すべての自動運転車のエンジニア...