カリフォルニア大学の最新情報! CarDreamer: 自動運転アルゴリズム テスト用の包括的で柔軟なオープンソース プラットフォーム

WBOY
リリース: 2024-06-08 16:57:52
オリジナル
1144 人が閲覧しました

上記の内容および著者の個人的な理解

複雑な現実世界のシナリオで安全に移動するために、自動運転車はさまざまな道路状況に適応し、将来の出来事を予測できなければなりません。ワールド モデルに基づく強化学習 (RL) は、さまざまな環境の複雑なダイナミクスを学習および予測することでこれを達成するための有望なアプローチとして浮上しています。しかし、複雑な運転環境でそのようなアルゴリズムをトレーニングおよびテストするためのアクセス可能なプラットフォームは現在存在しません。このギャップを埋めるために、ここで CarDreamer を紹介します。これは、世界モデルに基づいた自動運転アルゴリズムの開発と評価のために特別に設計された初のオープンソース学習プラットフォームです。これには 3 つの主要なコンポーネントが含まれています:

1%) ワールド モデル (WM) バックボーン: CarDreamer は、RL アルゴリズムの再現を簡素化するために、最も先進的なワールド モデルのいくつかを統合します。バックボーンは他の部分から切り離されており、標準の Gym インターフェイスを使用して通信するため、ユーザーは独自のアルゴリズムを簡単に統合してテストできます。 CarDreamer の主な目標は、研究者や開発者がさまざまな強化学習アルゴリズムを迅速に繰り返してテストできる、柔軟でスケーラブルなプラットフォームを提供することです。このプラットフォームは、世界モデルを認識と計画という 2 つの主要なコンポーネントに分割する、WM の中心的なアイデアに基づいています。 認識コンポーネントは、環境から生の入力を取得し、それを

に変換する役割を担います。CarDreamer は、高度に構成可能な運転タスクのセットを提供します (2%) 組み込みタスク: CarDreamer は、高度に構成可能な運転タスクのセットを提供します。ジムインターフェースと経験的に最適化された報酬関数を搭載。

CarDreamer は、運転ミッションの作成を簡素化する柔軟なミッション開発キットです。このスイートを使用すると、交通の流れと車両のルートを簡単に定義でき、シミュレーション データを自動的に収集できます。視覚化サーバーを使用すると、ユーザーはブラウザを介してリアルタイムのエージェントの運転ビデオとパフォーマンスのメトリクスを追跡できます。さらに、CarDreamer は自動運転における WM のパフォーマンスと可能性を評価するために、機能性と柔軟性の調査を実施しました。 CarDreamer の豊富な機能と柔軟性により、観察モード、可観測性、および車両の意図の共有が AV の安全性と効率に及ぼす影響も体系的に研究されています。

フィールド開発の背景

将来のモビリティ システムは、安全性や効率性など多くの有望な利点を備え、自動運転車の中核となる役割を果たします。近年、自動運転車の開発は大きな成果を上げています。米国だけでも、自動運転車はすでに公道で数百万マイルを走行しています。しかし、複雑で多様な現実世界のシナリオをナビゲートできる堅牢な自動運転車を実現することは、依然として困難なフロンティアです。 米国運輸省連邦道路管理局の計算によると、自動運転車の衝突率は従来の車両の約 2 倍です。それでも、技術が進歩し続けるにつれて、自動運転車の衝突率は大幅に改善すると予想されています。 より高い安全性を達成するために、自動運転車はより高度な認識能力と意思決定能力を備える必要があります。高度なセンサー技術と機械学習アルゴリズムを活用することで、自動運転車は、周囲環境にある障害物や他の車両の挙動をより正確に識別し、予測できます。 さらに、自動運転車は交通当局と連携することで交通の流れの効率を向上させることができます。信号機やその他の交通施設との相互接続により、自動運転車は速度とルートをリアルタイムに調整することができ、それにより交通量を削減できます

自動運転車の信頼性は、予測不可能なシナリオにおける自動運転システムの汎用化能力に直接影響します。ワールド モデル (WM) は、優れた一般化機能を備えており、環境の複雑なダイナミクスを学習し、将来のシナリオを予測することで、有望なソリューションを提供します。特に、WM はコンパクトな潜在を学習し、環境の主要な要素とダイナミクスを動的にエンコードします。この学習された表現はより優れた一般化に貢献し、WM がトレーニング サンプルを超えたシナリオで予測できるようになります。 WM の内部には、視覚モデルや記憶モデルなど、人間の知覚や意思決定を模倣するコンポーネントが含まれています。実は、人間が未知の出来事や目に見えない出来事に遭遇したときに適切な行動がとれるのは、まさに人間の世界モデルが内在しているからなのです。 WM ベースの強化学習 (RL) アルゴリズムは、人間の知能と同様の認知プロセスをシミュレートすることにより、Atari ゲームや Minecraft などの分野で最先端のパフォーマンスを実証してきました。しかし、自動運転における WM の応用は依然として興味深い分野であり、その理由の 1 つは、そのような RL アルゴリズムをトレーニングおよびテストするための使いやすいプラットフォームが不足していることです。 WMに基づく自動運転学習プラットフォームの開発は、この分野の研究にとって非常に有益です。

そこで、これらの要因に突き動かされて、私たちは CarDreamer を立ち上げました。これは、WM ベースの自動運転専用に設計された初のオープンソース学習プラットフォームです。 CarDreamer はアルゴリズムの迅速な開発と評価を促進し、ユーザーが提供されたタスクでアルゴリズムをテストしたり、包括的な開発キットを通じてカスタム タスクを迅速に実装したりできるようにします。 CarDreamer の 3 つの主要な貢献は次のとおりです。 1. 迅速な開発と評価: CarDreamer は、迅速なアルゴリズム開発と評価のための一連の強力なツールを提供します。ユーザーはこれらのツールを活用してアルゴリズムをテストし、提供されたタスクで自動運転実験を実施し、パフォーマンス評価を行うことができます。 2. カスタム タスク: CarDreamer は、ユーザーがカスタム タスクを迅速に実装できるようにする包括的な開発キットを提供します。これにより、ユーザーは特定のニーズに基づいて独自の自動運転アルゴリズムを開発し、CarDreamer プラットフォームでテストおよび検証することができます。 3. 主な貢献内容: CarDreamer は、再現を実現するための

  1. 統合 WM アルゴリズムも提供します。 CarDreamer は、DreamerV2、DreamerV3、Planning2Explore などの最先端の WM を統合し、既存のアルゴリズムのパフォーマンスを再現するのに必要な時間を大幅に短縮します。これらのアルゴリズムは CarDreamer の残りの部分から切り離されており、統合された Gym インターフェイスを通じて通信します。これにより、新しいアルゴリズムが Gym インターフェースをサポートしている限り、追加の適応作業を行わずに、新しいアルゴリズムを直接統合してテストすることができます。
  2. 報酬を最適化するための高度に構成可能な組み込みタスク。 CarDreamer は、車線変更や追い越しなどの包括的な運転タスクを提供します。これらのタスクにより、難易度、可観測性、観察モード、および車両の意図の伝達に関して広範なカスタマイズが可能になります。使いやすさを考慮して同じジム インターフェイスが公開されており、報酬関数はトレーニングの効率を最適化するように慎重に設計されています。
  3. タスク開発キットと視覚化サーバー。このキットには、API 主導の交通生成と制御によるカスタム運転タスクの作成が簡素化されるだけでなく、マルチモーダル データの収集と構成を容易にするモジュラー オブザーバーも含まれています。視覚化サーバーにより、エージェントの運転ビデオと統計のリアルタイム表示が可能になり、Web ブラウザーを介して報酬エンジニアリングとアルゴリズム開発が加速され、パフォーマンスに関する洞察が即座に提供されます。

他のフレームワークの紹介

ここでは、CarDreamer、CARLA、gym の 2 つの基礎を簡単に紹介します。 CARLA は、強化学習のトレーニングと評価のための、忠実度が高く柔軟なシミュレーターおよび標準インターフェイスです。 Gym は強化学習用のオープンソース ツールキットで、豊富な環境とアルゴリズムを提供します。 CarDreamer は、トレーニングと評価にこれら 2 つの基礎を使用し、モデルのトレーニングと評価のインターフェイスとして RL (強化学習) を使用します。

CARLA は、現実世界の交通シナリオをシミュレートするために設計されたオープンソース シミュレーターです。 CARLA は、現実的な物理効果と高品質のレンダリングを提供する Unreal Engine に基づいています。 CARLA は、地図、建物、車両、さまざまなランドマークなどのデジタル アセットを提供します。 RGBカメラ、LiDAR、RADARなどのさまざまなセンサーをサポートします。ユーザーは車両や歩行者を作成し、これらのキャラクターを完全に制御できます。これは確かに非常に多用途なツールですが、RL アルゴリズムの適用における主な欠点は、その汎用性にも起因しています。 BEV (鳥瞰図) 抽出と退屈なプロセスを取得することは、RL アルゴリズムのトレーニングにおける迅速な展開の妨げとなります。

gym は、エージェントと環境間の通信を標準化するために OpenAI によって定義された標準インターフェイスです。このインターフェイスのコア部分は、reset() と step(action) の 2 つの関数で構成されます。前者は、環境を開始状態に初期化します。後者は、エージェントからアクション入力を受け取り、環境の進化をシミュレートし、観察データ、報酬信号、終了インジケーター、およびいくつかの追加情報を返します。 このようにして、RL アルゴリズムは、両方がジム インターフェイスをサポートしている限り、大規模な調整を行わずにさまざまな環境で簡単にテストできます。 Atari ゲームや DMC スイートなど、さまざまなジムのベンチマークを開発するための多くの努力が行われてきました。 CARLA では、WM ベースの RL アルゴリズムが自動運転の分野で使用されており、CarDreamer は、トレーニングと評価を容易にするためにジムのインターフェイスを通じて多様な都市部の運転タスクを提供するプラットフォームです。

CarDreamer のネットワーク構造

図 1 に示すように、CarDreamer には、組み込みタスク、タスク開発キット、ワールド モデル バックボーンという 3 つの主要コンポーネントが含まれています。ミッション開発キットは、CARLA での車両の作成、交通の流れの制御、ルートの計画など、さまざまな API 機能を提供します。観測モジュールは、センサーデータやBEV(鳥瞰図)などのマルチモーダル観測データを自動的に収集し、独立したカスタマイズ可能なデータ処理手順によって管理されます。これらのデータは 2 つの目的を果たします。タスクおよびトレーニングの視覚化サーバーによって利用されます。視覚化サーバーは、HTTP サーバーを介してリアルタイムの運転ビデオと環境フィードバックを表示し、ジム インターフェイスを介してワールド モデル アルゴリズムとシームレスに統合されます。アクションとしてエージェントの応答を受信した後、監視モジュールは次のフレームでデータ ハンドラーからデータを収集し、この動作サイクルを継続します。

カリフォルニア大学の最新情報! CarDreamer: 自動運転アルゴリズム テスト用の包括的で柔軟なオープンソース プラットフォーム

ここでは、車線維持や左折などの単純なスキルから、交差点、ラウンドアバウト、さまざまな交通の流れなど、さまざまな道路状況でのランダムローミングなどのより複雑な課題に至るまで、さまざまな現実的なタスクが慎重に設計されています。これらのタスクは高度に構成可能であり、自動運転における基本的な問題を提起する多くのオプションが提供されます。

可観測性と意図の共有: 強化学習では、部分的な可観測性が大きな課題であり、不完全な状態情報により、すべての履歴ステップが含まれるため、入力空間の複雑さが指数関数的に増加する可能性があります。これらの課題に合わせた自動運転ツールの不足に対処するために、CarDreamer には 3 つの可観測性設定が用意されています。 1) 視野 (FOV) には、カメラの視野内の車両のみが含まれます。 2) 共有視野 (SFOV) により、車両は自身の視野内で他の車両と通信し、FOV データを収集できます。 3) 完全な可観測性 (FULL) は、完全な環境およびバックグラウンドのトラフィック情報を前提としています。さらに、ユーザーは車両がその意図を共有するかどうか、また誰と共有するかを制御できます。これらの構成は、「どのようなメッセージを伝えるか」と「誰に伝えるか」という基本的な質問に沿ったものです。観察モード : ユーザーは、RGB カメラや LiDAR などのセンサー データから BEV などの合成データまで、さまざまなモードを含むように観察空間を構成できます。この柔軟性により、マルチモーダルの生センサー データから直接意思決定を行ったり、BEV センシングを計画に使用したりできるエンドツーエンド モデルの開発がサポートされます。難易度 : 難易度の設定は主に交通密度に影響し、衝突回避に重大な課題をもたらします。自動運転車にとって安全性が重要なイベントはまれであるため、自動運転車の堅牢性を検証することは本質的に困難です。 CarDreamer は、これらのまれではあるが重大なイベントをシミュレートするシナリオでの安全性と効率を包括的に評価するように特別に設計されています。

ご褒美機能。 CarDreamer の各タスクには最適化された報酬関数が装備されており、これにより DreamerV3 がわずか 10,000 のトレーニング ステップでランドマーク ポイントに正常に移動できることが実験で示されています (詳細についてはセクション 5 を参照)。特に、私たちの経験的調査結果は、速度または段階的な位置変化に基づいてエージェントに報酬を与える方が、絶対位置に基づいて報酬を与えるよりもパフォーマンスが向上することを示しています。これは、報酬が位置のみに基づいている場合、エージェントは小さな最初の動きをしてから静止したままにすることで報酬関数を利用する可能性があり、それ以上の動きは衝突ペナルティをもたらす可能性があるためです。実際には、学習されたポリシーが局所的な最適解に収束し、静止したままにすることで衝突を回避する、この次善の動作が観察されます。対照的に、報酬を速度に基づいて設定すると、エージェントは報酬を蓄積するために継続的な動作を維持する必要が生じ、それによって望ましくない定常ポリシーに早期に収束するリスクが軽減されます。報酬の設計では、従来の強化学習アルゴリズムでは無視されることが多い、軌道の滑らかさなどの運転タスクの主要な要件を慎重に考慮しています。通常、これらのアルゴリズムには、探索を促進し、早期の収束を防ぐために、損失関数または値の推定にエントロピー項が含まれています。ただし、自動運転の文脈では、このエントロピー項は、車両がジグザグの軌道をたどるよう促す可能性があります。そのような不規則な動きは、たとえ両方の軌道が達成されたとしても、より滑らかな経路と比較してより高いエントロピー報酬をもたらすためです。目標に対して同様の進歩が可能です。 。この影響に対抗するために、ターゲット方向に垂直な動きをブロックするために特別に設計されたペナルティ項がここに導入されています。したがって、私たちは、次の構造で、目標の進捗と軌道の滑らかさのバランスを効果的にとる報酬関数を開発しました:

カリフォルニア大学の最新情報! CarDreamer: 自動運転アルゴリズム テスト用の包括的で柔軟なオープンソース プラットフォーム

インターフェイスと使用法: CarDreamer のすべての組み込みタスクは、統合されたジム インターフェイスを採用しており、強化学習アルゴリズムで次のことを行うことができます。追加の調整なしで直接トレーニングおよびテストできます。 CarDreamer は、すぐに使用できることに加えて、単純なタスクから複雑なタスクへの段階的な進行を利用するコース学習アルゴリズムや、学習時の壊滅的な忘れの問題に対処するように設計された継続学習アルゴリズムなど、さまざまなアルゴリズムをサポートしています。新しいタスク。さらに、模倣学習の場合、CarDreamer はシミュレーターでの観察データを収集するプロセスを簡素化します。元々は WM ベースの強化学習アルゴリズム用に設計されましたが、ジム インターフェイスにより、さまざまなアルゴリズム戦略で広く使用できるようになります。

1) ミッション開発キット

カスタマイズされたミッションが必要なユーザーのために、CarDreamer は高度にモジュール化されたミッション開発キットを提供します。このスイートは、さまざまなレベルのカスタマイズ ニーズを持つユーザーのさまざまな要件を満たすことができます。最初のモジュールは「ワールド マネージャー」で、さまざまなマップ、ルート、スポーン位置、またはバックグラウンドの交通の流れによる運転シーンの変更などの基本的なニーズを満たします。ワールド マネージャーは、CARLA から借用した用語である「アクター」の管理を担当します。これには、車両、歩行者、信号機、センサーなどのすべてのエンティティが含まれます。これは、さまざまなアクター、特にデフォルトまたはカスタムのブループリントを使用してさまざまな場所に車両を生成するための API 呼び出しを提供します。これらの車両は、ユーザーまたは簡単なルールに基づく自動運転アルゴリズムであるオートパイロットによって制御できます。リセット時に、透過的にリソースが破棄され、解放されます。 2 つ目のモジュールは「Observer」で、さまざまなモードで観測データを自動的に収集します。これにより、ユーザーは手動操作なしで事前定義された観察パターンに簡単にアクセスできるようになりますが、データ仕様の広範なカスタマイズもサポートされます。これは、RGB カメラ プロセッサや BEV プロセッサなど、それぞれが特定のモードにデータを提供する一連のデータ プロセッサを通じて実現されます。各データ プロセッサは高度にモジュール化されており、特定の種類のデータのライフサイクル全体を個別に管理します。ユーザーは、ニーズに合った新しいデータ プロセッサを登録することでオブザーバーを強化できます。

3 番目のモジュールには、多様なミッション ルートのニーズを満たすことができるルート プランナーが含まれています。 CarDreamer には、マップ全体を探索的にローミングするための確率的プランナー、ユーザー定義の場所を接続するウェイポイントを作成するための固定パス プランナー、および古典的な A* アルゴリズムを使用して現在の場所から指定された場所までのルートを生成する固定エンドポイント プランナーが含まれています。終点。追加のカスタマイズのニーズを満たすために、基本クラスも提供されており、ユーザーは init_route() メソッドと extend_route() メソッド (それぞれタイム ステップごとにルートの初期化と拡張を定義する) をオーバーライドすることで独自のプランナーを開発できます。さらに、このスイートには、オブザーバーの出力と環境からフィードバックされたその他の統計をシームレスに統合し、HTTP サーバー経由で表示する視覚化サーバーが含まれています。この自動化により、追加のコーディング作業を行わずに、迅速なフィードバックが促進され、報酬エンジニアリングとアルゴリズム開発プロセスが改善されます。

2) ワールド モデル バックボーン

CarDreamer のワールド モデル バックボーン フレームワークは、DreamerV2、DreamerV3、Planning2Explore などを含む最先端のメソッドをシームレスに統合し、これらのモデルの迅速な再生産を促進します。このバックボーン アーキテクチャは、ワールド モデルの実装をタスク固有のコンポーネントから切り離すように慎重に設計されており、それによってモジュール性とスケーラビリティが向上します。これらのコンポーネント間の通信は、標準のジム インターフェイスを通じて効率的に管理され、広範なカスタマイズが可能になります。この分離により、ユーザーはデフォルトのワールド モデルを独自の実装に簡単に置き換えることができ、迅速なプロトタイピング、ベンチマーク、および確立されたベンチマークとの比較分析が可能になります。したがって、CarDreamer は、世界のモデルベースのアルゴリズムのための包括的なテスト プラットフォームを提供し、この分野での研究開発を加速するためのエコシステムを育成します。このプラットフォームは、ユーザーが、多様な運転タスクとパフォーマンス指標で構成される一貫した標準化された評価フレームワーク内で、革新的なアーキテクチャ、損失関数、トレーニング戦略を探索することを奨励します。

CarDreamer ミッション実験

1,800 万個のパラメーターのみを含む小さな DreamerV3 モデル (図 4 を参照) がモデルのバックボーンとして使用されます。この小さな DreamerV3 モデルには 32 個の CNN 乗算器、512 個の GRU および MLP ユニットがあり、MLP には RSSM に 2 つのレイヤーしかありません。メモリ オーバーヘッドは約 10 GB と小さいため、CARLA シミュレータを実行しながら単一の NVIDIA 4090 GPU でトレーニングできます。各タスクについてエージェントをトレーニングします。

カリフォルニア大学の最新情報! CarDreamer: 自動運転アルゴリズム テスト用の包括的で柔軟なオープンソース プラットフォーム

時間ステップに伴う報酬曲線の変化を図 2 に示します。

カリフォルニア大学の最新情報! CarDreamer: 自動運転アルゴリズム テスト用の包括的で柔軟なオープンソース プラットフォーム

「単純な右折」や「車線合流」などの交通量の少ない単純なタスクは、通常 50,000 歩 (約 1 時間) 以内に収束しますが、より高密度で積極的な交通の流れには、より密で積極的な交通の流れが含まれます。衝突タスクの場合、収束するまでに約 150,000 ~ 200,000 ステップ (約 3 ~ 4 時間) かかります。評価では、表 1 に示すように、CarDreamer タスクで実行される自動運転エージェントのパフォーマンスを厳密に評価するためにいくつかの指標を採用しました。これらのメトリクスには次のものが含まれます:

• 成功率: このメトリクスは、エージェント車両がミッションを正常に完了した割合 (事故や車線逸脱なしに目的地に到着するか、所定の距離を移動する) を測定します。

• 平均距離 (メートル): エピソードが終了するまでのすべてのエピソードにわたってエージェント車両が移動した平均距離を表します (タスクの完了、または衝突やタイムアウトなどの失敗による)。

• 衝突率 (%): エージェント車両が衝突したエピソードの割合を計算します。

• 平均速度 (m/s): ミッション全体を通じてエージェント車両によって維持される平均速度を測定します。この指標は、速度と安全性のバランスをとる車両の能力を反映し、車両がその環境をいかに効率的に移動できるかを示します。

• ウェイポイントの距離: このメトリクスは、目的のルートのウェイポイントからの平均偏差を定量化します。これは、車両が計画された経路をたどる能力を評価し、特定の軌道をたどる際のナビゲーションの精度と精度を反映します。

カリフォルニア大学の最新情報! CarDreamer: 自動運転アルゴリズム テスト用の包括的で柔軟なオープンソース プラットフォーム

1) さまざまな観測モダリティでの予測

ワールドモデル (WM) の想像力により、将来のシナリオを効果的に予測し、潜在的なイベントを管理することができます。さまざまな観察モダリティ下での WM の想像力パフォーマンスを評価するために、「右折難易度」タスクに関する実験を実施しました。鳥瞰図 (BEV)、カメラ、ライダー (LiDAR) の 3 つの異なるモダリティが選択されました。 WM は、モダリティごとに、特定の開始状態と一連のアクションの下で、将来のいくつかのステップの観察結果を想像する必要があります。図 4 は、3 つのモダリティにおける実際の画像と想像上の画像の違いを比較した結果を示しています。 1段目は実際の観察画像、2段目はWMの想像結果、3段目はそれらの差分を示しています。想像上の範囲内で最大 64 タイム ステップのフレームを選択しました。これらの発見は、手法が異なるにもかかわらず、WM が将来を正確に予測することに依然として優れていることを示唆しています。 BEV 実験 (a) では、WM は直進車両と右折車両の位置と軌道、および自車両に対する BEV の回転と並進を正確に予測しました。同様に、カメラと LiDAR の設定において、WM は自車の前を走行する車両の予測にも成功しました。

カリフォルニア大学の最新情報! CarDreamer: 自動運転アルゴリズム テスト用の包括的で柔軟なオープンソース プラットフォーム

2) 車車間通信の利点

CarDreamer のユニークな機能の 1 つは、車両間の通信レベルを簡単にカスタマイズできることです。車両は視野 (FOV) ビューを共有できるため、異なる観測可能性が可能になります。さらに、計画を改善するために、意図 (車両の計画されたウェイポイントによって表される) を共有することもできます。私たちはこの機能を利用して、コミュニケーションの影響を評価します。あるエージェントでは、「右折困難」タスクのさまざまな設定、つまりさまざまな可観測性と他の車両の意図にアクセスできるかどうかの下でトレーニングおよびテストが行​​われました。急な右折タスクは、交通量が多く、視野外の車両と頻繁に衝突する可能性があるため、可観測性と意図的なコミュニケーションをテストするのに特に適しています。報酬曲線を図 5 に示し、いくつかのパフォーマンス指標を表 2 に示します。報酬関数では、右折の成功はおおよそ 250 を超える報酬で表されることに注意してください。結果は、可観測性が制限されているか、意図共有が欠如しているため、エージェントがタスクを完了できないことを示しています。図 6 の 1 つのプロットから均一にサンプリングされた画像は、良い説明を提供します。エージェントは保守的で次善の戦略を採用し、衝突を避けるために交差点で停止します。たとえば、図 6 の最初の 3 行では、エージェントはトラフィックに合流する前に移動を停止しています。対照的に、完全な情報により、自車両は右折を成功させることができます。

カリフォルニア大学の最新情報! CarDreamer: 自動運転アルゴリズム テスト用の包括的で柔軟なオープンソース プラットフォーム

以上がカリフォルニア大学の最新情報! CarDreamer: 自動運転アルゴリズム テスト用の包括的で柔軟なオープンソース プラットフォームの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:51cto.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート