人工知能はすでにトレンドです。スマートホテル、スマートインターネットカフェ、自動運転車などが実現され、すぐに私たちの生活に普及するでしょう。同様に、インテリジェント時代の到来は、多くの人が失業に直面することを意味します。私たちは、時代に見捨てられ、排除されることのないよう、時代の発展に遅れを取らないようにしなければなりません。 人工知能に最適な言語としてPython それは私たちの学習の究極の目標です。かつて誰かがこう言いました。 未来の社会では、Python を知らない人は新たな「文盲」に分類されるでしょう。 また、Python は、プログラミング言語の基礎をまったく学んでいない人にとっても最適です。それで私は Python を学ぶ旅を始めました! 正しい手順、正しい方法を見つけて、一生懸命勉強すれば大丈夫です!信じてください、すぐに習得できますよ! ここでは、エディターは、学習したい初心者のための非常に適切な学習教材を用意しました。もちろん、今日のソースコード さて、今日はインテリジェントなロボットの書き方を紹介します。 1. ジェネレータオブジェクトの分析 簡単な例を見てみましょう。ジェネレータ関数を作成し、ジェネレータ オブジェクトを生成します。 人工知能の時代に、チャットするインテリジェントロボットを Python で作成しました。とても優れています。 G がジェネレーター オブジェクトであることを示します。その内部にあるものを分析してみましょう。 dir(G) を印刷する 非常に特殊な関数が 4 つあることに注意してください: close()、next()、send()、throw()、next()。これらについては前の 2 つの記事ですでに説明しているので、ここでは説明しません。今日は、send()、throw()、close() 関数に焦点を当てます。 2. コルーチンとは何か Python のコルーチンは、スレッドに似ています。コルーチンは、複数の関数を実行し、同時に実行されているように見せることができる、ユーザーレベルの軽量スレッドまたはマイクロスレッドと考えることができます。ただし、メモリをあまり消費しない、オーバーヘッドが低い、スレッドの安全性を考慮する必要がないなど、スレッドよりも優れた点がいくつかあります。(スレッドとは何かについては、次の記事で説明します) 1.send()関数 send() は、パラメータを渡してジェネレータとやりとりするために使用されます。プログラムがreceive=yieldまで実行されると、一時停止され、ジェネレータがsendメソッドを呼び出すのを待ちます。このとき、send関数は外部から呼び出され、データ変数を送信し、データ変数はreceivedに渡されます。 コード例: a) echo 関数には無限ループがあり、その中にはキーとなるコード行のreceive=yieldが含まれています。これは、外部から送信される send 関数のエントリ ポイントです。 b). 外部関数は最初にジェネレータオブジェクトを生成する必要があります。つまり、Echo = echo() です。 c) 次に重要なステップは next(Echo) です。ジェネレーターを最初の yield 式に進めるには、 next 関数を 1 回呼び出す必要があります。 d) 次に、yield 操作と send 操作を組み合わせて外部からのデータ入力を取得し、一連のプロセスを使用してそれを処理します。 2.throw()関数 Throw は主に例外をジェネレータに送信し、システム定義の例外 (もちろんカスタム例外も含む) を終了できます。 コード例: a). ジェネレータオブジェクトGを作成する b) next(G) を実行し、結果を出力します。最初の yield でキャッシュされた結果 'First' を取得し、yield 'Second' の前に留まります。 c). 例外クラス ValueError をスローします (ValueError は文字列ではなくクラスであることに注意してください)。ジェネレーターが例外を受け取ると、yield 'Second' を直接スキップして except 部分に入り、'Catch the TypeError' と出力します。 d). next(G) を実行し、結果を出力します。while の先頭に戻り、最初の yield 'Frist' を消費し、 yield 'Second' を実行します。 3.close()関数 close はジェネレータを停止するために使用されます。停止後に next が呼び出されると、StopIteration エラーがトリガーされます。 コード例: ジェネレーター オブジェクト Echo が close() を呼び出すと、send('123') を呼び出すと例外 StopIteration がスローされ、これをキャッチします。 3. 実用化 - ミニチャットボット たくさん話した後で、少し目が回りませんか? ジェネレータはPythonで最も複雑な概念の1つです。学生の中には、他にもジェネレータがあるかどうか尋ねた人もいました(はい、デコレータです)。 コルーチンを使って小さなチャットボットを書いてみましょう~~ 1). バックグラウンドでスレッド機能として考えられるチャットボットジェネレーター機能を作成する 2) フロントデスクは継続的にユーザー入力を取得し、コルーチンを使用してバックエンドに送信して処理します。 ランニングの効果を見てみましょう |
<<: 【WOT2018】4人の重鎮専門家が企業ビジネスにおけるNLPの詳細な応用を分析
自動化された AI システムは、建物の暖房と冷房を最適化して効率性と持続可能性を向上させるのに役立ち...
海洋ゴミは世界的な問題となっている。たとえすべてのデータを収集できたとしても、海洋問題の専門家である...
Covid-19パンデミックの発生に伴い、あらゆる業界の企業が先進技術を活用して、私たちの働き方や生...
通常、ロボットやその他のデバイスは GPS を使用して屋外で自律的に移動を行います。しかし、フランス...
フォトリアリスティックな画像生成は、仮想現実、拡張現実、ビデオゲーム、映画制作などの分野で幅広く応用...
入力がキーボードに別れを告げ、音声、表現、動作が入力方法になると、どのような魔法のような体験になるの...
企業の情報技術の意思決定者として、上級管理職や部門長に AI のビジネス価値を示す必要がある場合、I...
今最も注目を集めている産業は何でしょうか? それは人工知能でしょう。現在、さまざまな業界が、将来の業...
「中国の改革開放40年はIT産業の爆発的な成長をもたらしたが、ハイエンドチップは常に輸入に依存してき...
著者 | 魏耀成魏ナレッジ グラフの視覚化により、ナレッジ グラフ データをより直感的に表示および分...
この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...
Android Things を Tensorflow と統合する方法と、機械学習を IoT システ...