Streamlitを使用してMLモデルをデプロイするためのステップバイステップガイド

公開: 2020-12-07

目次

序章

機械学習愛好家のほとんどは、AIとMLを使い始めるためのいくつかのコースとカリキュラムに登録しています。 これらのコースは多くの基本的なことをカバーし、学習者が最先端のMLモデルを構築してトレーニングするようにきちんとガイドします。

しかし、ほとんどの初心者が苦労していることの1つは、デプロイメントの部分です。 機械学習プロジェクトは、その周りにインタラクティブなアプリがないとそのままにしておくことはできません。 ユーザーがモデルを簡単に操作できるようにしたり、プロジェクトを紹介したりできるようにするには、クラウドサービスを使用して、モデルをWebアプリ、Androidアプリ、またはある種のAPI構造にラップする必要があります。

モデルのこれらのラッパーを作成するにはさまざまな方法がありますが、この記事では、この問題の解決策としてStreamlitを使用する方法と、Streamlitをこのような強力なツールと見なす理由に焦点を当てます。

この記事では、MLプロジェクトを構築し、Streamlitを使用してそのプロジェクト用のWebアプリプラットフォームを作成するためのステップガイドを紹介します。 私たちが構築するプロジェクトは、カリフォルニアの住宅価格予測モデルです。 サイトは動的になり、学習率やニューロンの数などのハイパーパラメータを変更して、Webアプリから直接試すことができます。

FlaskやDjangoなどのフレームワークを使用してこのようなWebアプリを構築する場合、最初にそのUIを構築するのにかなりの時間がかかるとほぼ確信しています。次に、サーバーでホストするという別の問題があります。誰でもアクセスできます。

そして、ここで主な質問が浮かび上がります。「機械学習の愛好家は、より良いモデルを構築するためにその貴重な時間を学習に使用できるのに、なぜいくつかのUIフレームワークの学習に時間を浪費しなければならないのですか?」

プロジェクトでStreamlitを使用する方法については、ここで取り上げるトピックがたくさんあります。 あなたがもっと知りたい部分にスキップしてください。

  • なぜStreamlitなのか?
  • 基本的なMLモデルの構築
  • 魔法の追加-Streamlitを使用
  • StreamlitWebアプリのデプロイ
  • 結論

なぜStreamlitなのか?

Streamlitを使用すると、機械学習Webアプリを非常に簡単かつ迅速に構築できます。 MLモデル用のそのようなラッパーを開発するために利用できる他の方法は、あまり快適ではありません。

Flaskは、ユーザーがWebアプリを開発し、Python言語を使用してそれらをデプロイできるようにするPythonフレームワークです。 Pythonに関する十分な知識が必要であり、Pythonの学習にも時間を費やす必要があります。 その後も、Streamlitと比較してWebアプリの開発は簡単ではありません。

Djangoは、Web開発用のもう1つのPythonベースのフレームワークです。 これはFlaskのより優れた複雑なバージョンであると言えます。 このフレームワークを学ぶには多くの専用時間が必要であり、最終的にそれを使用してWebアプリを構築することは、私たちが望むほど速くはありません。

Tensorflow.jsは、Webプラットフォームと互換性のあるモデルを保存するための非常に優れた方法であり、これらのモデルを使用してWebアプリを構築できます。 MLモデルと高レベルアーキテクチャの複雑な実装の多くは、Tensorflow.jsではまだサポートされていません。 Pythonで動作し、Tensorflow.jsライブラリのJavascriptでは動作しない可能性のあるモデルが多数あります。

前に述べたように、これらのフレームワークを学ぶのに時間を無駄にするのではなく、代わりに優れたMLモデルを構築する方法を学ぶ必要があります。 そして、これがStreamlitの出番です。 これは、Webアプリケーションを開発するための最も簡単で迅速な方法です。 Streamlitを使用して構築されたWebアプリには、優れたUI要素があり、非常に使いやすいです。

StreamlitがMLWebアプリを構築する最も簡単で迅速な方法であるという私の主張を支持するために、私がこのフレームワークに出くわした方法をあなたと共有させてください。 GANを作成し、それを使用して人工的な顔を生成したり、白黒のスケッチをカラフルなスケッチに変換したりする方法などを学びました。

モデルはJupyterノートブックでうまく機能しましたが、他の人と共有したいと思いました。 アプリを構築してモデルをホストするためのフレームワークを探し始めましたが、他のGAN実装を検討したかったので、さらに別のフレームワークを学ぶことに時間を無駄にしたくありませんでした。

以前この記事で話したすべての代替リソースを確認しました。 Sketch-To-Color生成プロジェクトで使用されるジェネレータモデルは少し複雑です。 これはU-Netアーキテクチャモデルであり、接続をスキップする必要があります。

複雑さが高いため、Tensorflow.jsを使用してJavascriptの最終モデルを変換できませんでした。 FlaskやDjangoを最初から学ぶことは私には選択肢ではなかったので、他のフレームワークやライブラリを探し始めました。

これは私がStreamlitに出くわしたときです。 Adrien Treuilleの記事で、彼は13行未満のコードでTL-GAN用のすばらしいWebアプリを作成した方法を示しています。 これはすべて、Streamlitのおかげでのみ可能でした。

彼らの公式ウェブサイトのドキュメントも非常に正確で役に立ちます。 Sketch to ColorGANsモデル用のStreamlitWebアプリを作成してみましたが、それはすごかったです。 既存のPythonコードに12行のコードを追加するだけで済みました。 これが、私がついにStreamlitを探索し、それを使用して他のプロジェクトを構築することを進めた理由です。

基本的なMLモデルの構築

前に述べたように、この例ではカリフォルニアの住宅価格予測の問題を見ていきます。 まず、このためのモデルを通常どのように構築するかを見てみましょう。 これは回帰問題です。

まず、単純なMLモデルに必要なライブラリをインポートします。 ここでは、TensorFlow、pandas、およびNumPyを使用します。

tensorflowをtfとしてインポートします

numpyをnpとしてインポートします

パンダをpdとしてインポートします

次に、Scikit-Learnのデータセットを使用して、カリフォルニアの住宅データセットをダウンロードします。

sklearn.datasetsからimportfetch_california_housing

住宅=fetch_california_housing()

次に、ロードされたデータをトレーニング、検証、およびテストセットに分割する必要があります。 これを行うために利用できる多くの方法があります。 Scikit-Learnライブラリで利用可能なtrain_test_split関数を使用します。 これを2回使用すると、データセットが3セットのトレーニング、検証、およびテストに分割されます。

sklearn.model_selectionからimporttrain_test_split

X_train_full、X_test、y_train_full、y_test = train_test_split(

Housing.data、Housing.target

)。

X_train、X_valid、y_train、y_valid = train_test_split(

X_train_full、y_train_full

)。

利用可能なデータには、各エントリの経度と緯度の値があります。 これをよりよく視覚化するために、マップ上に散布図を作成できます。 マップを使用するには、 Altairライブラリをインポートします。

altairをaltとしてインポート

map_data = pd.DataFrame(

X_train、

columns = [

'MedInc'、

「HouseAge」、

「AveRooms」、

'AveBedrms'、

'人口'、

「AveOccup」、

'緯度'、

'経度'

])

中点=(np.average(map_data ["latitude"])、np.average(map_data ["longitude"]))

st.write(pdk.Deck(

map_style =” mapbox:// styles / mapbox / light-v9”、

initial_view_state = {

「緯度」:中点[0]、

「経度」:中点[1]、

「ズーム」:6、

「ピッチ」:75、

}、

レイヤー=[

pdk.Layer(

「HexagonLayer」、

data = map_data、

get_position = ["longitude"、 "latitude"]、

半径=1000、

標高スケール=4、

標高範囲=[0、10000]、

pickable = True、

extruded = True、

)、

]、

))

現在私たちが持っているデータは、モデルに対して適切に処理されていません。 より良い結果を得るには、前処理を行う必要があります。 まず、データが狭い範囲の値である場合にほとんどの機械学習モデルが最適に機能するため、値を正規化する必要があります。 このために、sklearnライブラリのStandardScalerクラスを使用します。

sklearn.preprocessingからインポートStandardScaler

scaler = StandardScaler()

X_train = scaler.fit_transform(X_train)

X_valid = scaler.transform(X_valid)

X_test = scaler.transform(X_test)

データを準備したら、モデルを作成します。 このモデルは、回帰問題であるため、最初の入力層に指定された数のニューロンがあり、最後の層に単一のニューロンがあるニューラルネットワークになります。 これは、TensorFlowライブラリを使用して実現できます。

tensorflowをtfとしてインポートします

model = tf.keras.models.Sequential([

tf.keras.layers.Dense(n_neurons、activation ='relu'、input_shape = X_train.shape [1:])、

tf.keras.layers.Dense(1)

])

TensorFlowでは、モデルをビルドした後にコンパイルする必要があります。 ここでは、使用する損失関数と、必要なオプティマイザーについて説明する必要があります。 平均二乗誤差損失関数と特定の学習率のSGDオプティマイザーを使用します。

model.compile(

loss ='mean_squared_error'、

オプティマイザー=tf.keras.optimizers.SGD(l_rate)

)。

これですべてが整いました。 モデルをトレーニングするだけです。 TensorFlowでは、これはfit()メソッドを呼び出すだけで実行できます。 すべてのログを変数historyに保存できます

history = model.fit(

X_train、

y_train、

epochs = n_epochs、

validate_data =(X_valid、y_valid)

)。

トレーニング後、evaluate()メソッドを使用してモデルの精度と損失を評価することもできます。

評価=model.evaluate(X_test、y_test)

ここで、このモデルを使用して住宅価格を予測する場合は、 predict()メソッドを呼び出すだけで予測できます。

X_new = X_test [:3]

予測=model.predict(X_new)

これは、TensorFlow、scikit-learn、およびpandasを使用して簡単な住宅価格予測モデルを構築する方法です。 ただし、ご覧のとおり、問題は、このモデルを他のユーザーに表示して操作できる場所がないことです。これは、JupyterNotebook内のモデルにすぎません。 それでは、Streamlitで魔法を追加しましょう!

また読む:機械学習プロジェクトのアイデア

Streamlitを使用してマジックを追加する

機械学習ウェブアプリを作成するには、Streamlit関数呼び出し用のコードを数行追加するだけで済みます。 HTML、CSS、またはJavascriptは必要ありません。 純粋なPythonです!

はい、あなたはそれを正しく読みました。 他に何も心配する必要はありません。 Streamlitをシステムにインストールするだけで、準備が整います。 端末で次のコマンドを使用します。

pip install streamlit

次のコマンドを使用して、HelloWorldアプリで探索できます。 これは、Streamlitを使用してWebアプリがどのように表示されるかを示す良い例です。

ストリームリットこんにちは

Streamlitをローカルにインストールし、コードに魔法の行を追加したら、次のコマンドを実行してアプリをローカルで実行する必要があります。

streamlit run file_name.py

したがって、今の質問は、「これらの魔法のコード行は何ですか?」です。 それらは非常に単純です。 まず、Streamlitで使用される基本的な関数について説明し、次にコードを示して、例と直接関連付けることができるようにします。

何よりもまず、次のコード行を使用してstreamlitライブラリをインポートします。

ストリームリットをstとしてインポート

最初の重要な機能は、3つの二重引用符で何でも入力できることです。これにより、Webアプリのテキストがそのまま表示されます。 マークダウン言語構文をサポートします。 そのため、ヘッダー、箇条書き、表など、さまざまなことができます。 この表記の代わりにst.write()関数を使用することもできます それは同じ機能を持っています。

次はwithst.echo():関数です。 これは基本的に、そこに記述されたPythonコードを実行し、Webアプリにも表示します。 このようにして、どのように構築されたかを示すWebアプリを構築できます。

st.empty()は、後でいくつかの動的コンテンツ用に予約されている領域です。

st.spinner()は、コードの実行に遅延がある場合の読み込み要素を示します。

st.success()は、メッセージを緑色で表示します。 これには、成功の対話の優れた設計面があります。

st.sidebar()は、デフォルトで左側のサイドバーにコンテンツを表示します。

st.sidebar.slider()は、指定された数値の範囲から値を選択するためのスライダーをサイドバーに提供します。 st.sidebar.selectbox()を使用すると、指定されたリストから値を選択できますStreamlitには、さらに多くのすばらしい機能と機能が詰め込まれています。 いくつかの機能は次のとおりです。

  • ファイルを保存すると、ライブの変更が行われます
  • キーボードのRを押すだけでアプリを再実行できます
  • キーボードのCを押すだけでキャッシュをクリア
  • Webアプリを録画し、ビデオファイルをローカルに保存して、全員と共有します

…そしてもっとたくさん

必読:機械学習のキャリア

コード

ストリームリットをstとしてインポート

altairをaltとしてインポート

pydeckをpdkとしてインポートします

train_area = st.empty()

「」

#カリフォルニアの住宅価格

これは、1990年の米国国勢調査から抽出されたデータを含むカリフォルニアの住宅価格データセットです。 次の表に、データセット内の各機能の説明、データ範囲、およびデータタイプを示します。

##最初にインポートを見てみましょう

「」

st.echo()を使用:

tensorflowをtfとしてインポートします

numpyをnpとしてインポートします

パンダをpdとしてインポートします

「」

##データセットの読み込み

scikit-learnのデータセットモジュールを使用して、すでにクリーンアップされており、数値機能のみを備えたデータを導きます。

「」

st.echo()を使用:

sklearn.datasetsからimportfetch_california_housing

住宅=fetch_california_housing()

「」

これにより、以下に示すように、データ全体が`housing`変数に読み込まれます。

「」

st.subheader('入力機能')

Housing.data

st.subheader('出力ラベル')

Housing.target

「」

##データをTrain、Test、およびDevセットに分割する

これは、機械学習ソリューションの開始時に最も重要なことの1つです。モデルの結果は、これらのセットにデータをどれだけうまく分散しているかに大きく依存する可能性があるためです。

幸いなことに、2行のコードと同じくらい簡単になったscikit-learnが救いの手を差し伸べています。

「」

st.echo()を使用:

sklearn.model_selectionからimporttrain_test_split

X_train_full、X_test、y_train_full、y_test = train_test_split(

Housing.data、Housing.target

)。

X_train、X_valid、y_train、y_valid = train_test_split(

X_train_full、y_train_full

)。

「」

`train_test_split()`関数は、データを2つのセットに分割します。ここで、テストセットはデータセット全体の25%です。 ここでもtrain_fullで同じ関数を使用して、trainセットとvalidationセットに分割しました。 25%はデフォルトのパラメータであり、必要に応じて微調整できます。 [Scikit-Learnのドキュメント](https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html)からご覧ください。

##列車のデータを見る

列は次のデータを表します。

「」

st.write(housing.feature_names)

「」

次に、緯度と経度の値を使用して家を地図上にプロットして、家の場所を見てみましょう。

「」

st.echo()を使用:

map_data = pd.DataFrame(

X_train、

columns = [

'MedInc'、

「HouseAge」、

「AveRooms」、

'AveBedrms'、

'人口'、

「AveOccup」、

'緯度'、

'経度'

])

中点=(np.average(map_data ["latitude"])、np.average(map_data ["longitude"]))

st.write(pdk.Deck(

map_style =” mapbox:// styles / mapbox / light-v9”、

initial_view_state = {

「緯度」:中点[0]、

「経度」:中点[1]、

「ズーム」:6、

「ピッチ」:75、

}、

レイヤー=[

pdk.Layer(

「HexagonLayer」、

data = map_data、

get_position = ["longitude"、 "latitude"]、

半径=1000、

標高スケール=4、

標高範囲=[0、10000]、

pickable = True、

extruded = True、

)、

]、

))

「」

**必要に応じて、Altキーを押しながらズームインまたはドラッグして、マップの3D表示角度を変更してください。**

##前処理

前に指摘したように、このデータセットはscikit-learnによってすでに十分に前処理されており、NaN値やその他のものを気にせずに直接使用できます。

ただし、モデルが効率的に機能するように、 `StandardScaler`を使用して、特定の範囲の値をスケーリングします。

「」

st.echo()を使用:

sklearn.preprocessingからインポートStandardScaler

scaler = StandardScaler()

X_train = scaler.fit_transform(X_train)

X_valid = scaler.transform(X_valid)

X_test = scaler.transform(X_test)

「」

##モデルの作成

30個のニューロンとRELUの活性化関数を含む最初の層を持つ単純なシーケンシャルモデルを作成します。

次の層は、分類問題のようなバイナリまたはマルチクラスの結果だけでなく、モデルに値の範囲を予測させたいため、活性化関数のない単一のニューロン層になります。

「」

st.sidebar.title('ハイパーパラメータ')

n_neurons = st.sidebar.slider('Neurons'、1、128、30)

l_rate = st.sidebar.selectbox('学習率'、(0.0001、0.001、0.01)、1)

n_epochs = st.sidebar.number_input('エポック数'、1、50、20)

#n_neurons、l_rate、および_nepochsは、モデルをトレーニングするためにユーザーから取得した入力です。 それらのデフォルト値も設定されています。 n_neuronsのデフォルト値は30、l_rateのデフォルト値は0.01、n_epochsのデフォルト値は20です。したがって、モデルの最初のレイヤーには30個のニューロンがあり、学習率は0.01、エポック数はモデルがトレーニングする対象は20です。

st.echo()を使用:

tensorflowをtfとしてインポートします

model = tf.keras.models.Sequential([

tf.keras.layers.Dense(n_neurons、activation ='relu'、input_shape = X_train.shape [1:])、

tf.keras.layers.Dense(1)

])

「」

##モデルのコンパイル

Tensorflow keras APIは、オプティマイザー、損失関数、およびモデルの他のいくつかの詳細を割り当てるための `model.compile()`関数を提供します。

「」

st.echo()を使用:

model.compile(

loss ='mean_squared_error'、

オプティマイザー=tf.keras.optimizers.SGD(l_rate)

)。

「」

##モデルのトレーニング

モデルをトレーニングするには、トレーニングと検証のセットと、モデルでトレーニングするエポックの数を使用して、モデルで `fit()`関数を呼び出す必要があります。

**左側のサイドバーからハイパーパラメータを試してみて、下にある[トレーニングモデル]ボタンをクリックしてトレーニングを開始してください。**

「」

train = st.button('Train Model')

電車の場合:

st.spinner('トレーニングモデル…')を使用:

st.echo()を使用:

model.summary(print_fn = lambda x:st.write(“ {}”。format(x)))

history = model.fit(

X_train、

y_train、

epochs = n_epochs、

validate_data =(X_valid、y_valid)

)。

st.success('モデルトレーニングが完了しました!')

「」

##モデルのパフォーマンス

「」

st.echo()を使用:

st.line_chart(pd.DataFrame(history.history))

「」

##テストセットでモデルを評価する

繰り返しますが、もう1つの重要ですが簡単な手順は、これまでに見たことのないテストデータでモデルを評価することです。 これは、作成したモデルについて十分に確信した後でのみ行う必要があります。また、テストセットでモデルを評価した後は、ハイパーパラメータの調整を行わないようにする必要があります。モデルが本番フェーズで新しいデータを見る場合、一般化の問題になります。

「」

st.echo()を使用:

評価=model.evaluate(X_test、y_test)

評価

「」

>モデルがテストセットからの画像を見たことがないため、テストセットでのこの損失は、検証セットでの損失よりも少し悪化します。これは予想どおりです。

「」

「」

##モデルを使用した予測

「」

st.echo()を使用:

X_new = X_test [:3]

予測=model.predict(X_new)

「」

###予測

「」

予測

「」

###グラウンドトゥルース

「」

y_test [:3]

これでした! ほんの数行の追加コードで、見た目もダイナミックなコンテンツも備えた優れたWebアプリをすでに構築できています。 そんなに難しくなかったですよね? ドキュメントからさまざまなプロジェクトを構築し、Streamlitの他の機能を使用してみてください。 とても簡単で直感的です。

読む: Pythonによる機械学習

StreamlitWebアプリのデプロイ

Streamlit Webアプリは、インターネットで利用可能なさまざまなオプションを介して直接使用するためにデプロイできます。 それらを簡単に調べて、どのように実行できるかを確認できます。

Webアプリのデプロイに役立つ他のプラットフォームに進む前に、Streamlitが提供するものを見てみましょう。 彼らが行ったごく最近の機能リリースは、Streamlit共有です。 これにより、ユーザーはワンクリックでStreamlitWebアプリをデプロイできます。

コードをGitHubリポジトリにアップロードしている場合は、Streamlitのダッシュボードからリポジトリを選択するだけで、自動的にホストされます。 それは非常に素晴らしく、今のところ完全に無料です。 機械学習ウェブアプリをデプロイする前に、これまでにない簡単な方法はありませんでした。

Herokuは、StreamlitWebアプリをデプロイするためのもう1つの優れた方法です。 このようにして、クラウドサーバーを選択してから仮想インスタンスをセットアップする必要はありません。 すべてHerokuが処理します。

Herokuには、無料バージョンでは512MBを超えるすべてのパッケージを無料バージョンで使用できないという単純な欠点が1つあります。 プロジェクトで使用したTensorFlow2.2.0は、指定されたスペースより少し大きいため、他のサービスを使用する必要がありました。

AWS(Amazon Web Services)は、Streamlitアプリをデプロイするための優れた方法でもあります。 初心者には少し複雑ですが、使うほどセットアップが簡単になります。 新規ユーザーに無料のEC2インスタンスを提供します。 Ubuntu 18.04以降で起動し、アプリに必要なすべての依存関係をインストールできます。

すべての設定が完了したら、コマンド– streamlitrunfilename.pyを使用してアプリを実行できます。 ここでは、誰とでも共有できる公開URLを取得します。 ここでの大きな欠点の1つは、インスタンスをシャットダウンするとアプリがオンラインで利用できないことです。 したがって、無料のインスタンスにはいくつかの制限があります。

GitHubリポジトリにコードがある場合は、アプリをホストする別のクールな方法があります。 ユーザーは自分のシステムにもStreamlitをインストールする必要があるため、あまり専門的で合法ではありません。

Streamlitがシステムで使用可能であり、StreamlitアプリのPythonファイルへのリンクがある場合は、次のコマンドを実行するだけでWebアプリを実行できます: streamlitrunurl Streamlitをインストールしている場合は、ローカルで私のアプリをチェックアウトできます。 端末で次のコマンドを使用します。

streamlit run https://raw.githubusercontent.com/tejasmorkar/housing_price_prediction_aws/master/CaliforniaHousingPrices.py

結論

Streamlitがいかにシンプルで強力かを見てきました。 私はこれまでそのようなツールに出会ったことがありませんでしたが、それは私をこの程度まで助け、私の開発生活を楽にしてくれました。 そのため、Streamlitは、機械学習開発の重要な部分に誰もが集中でき、AIとMLの主要な学習に集中できる優れたフレームワークであると感じています。 これにより、学習曲線がはるかに簡単になり、趣味のプロジェクトを簡単に構築して展開できるようになります。

このフレームワークの実装を非常に簡単にする1つの点は、公式ドキュメントです。 ドキュメントに書かれていることはすべて正確でわかりやすいものです。 ドキュメントを一度読んで、新しいプロジェクトを実装してみることをお勧めします。 これは、新しいフレームワークを開始するための最良の方法です。 次のリンクでStreamlitの公式ドキュメントを見つけてください— https://docs.streamlit.io/en/stable/ target =” _ blank” rel =” nofollow”

コミュニティは、物事を学び、ソリューションの問題を見つけるための最良のリソースです。 Streamlitには素晴らしいディスカッションフォーラムがあり、Streamlitアプリの開発プロセスに関する質問、デプロイに関する疑問、機能のリクエスト、バグレポートなど、アプリのビルドを成功させるのに役立つ可能性のあるものを投稿できます。 次のリンクでディスカッションフォーラムに参加してください— https://discuss.streamlit.io/

機械学習について詳しく知りたい場合は、IIIT-BとupGradの機械学習とAIのPGディプロマをご覧ください。これは、働く専門家向けに設計されており、450時間以上の厳格なトレーニング、30以上のケーススタディと課題、IIIT-を提供します。 B卒業生のステータス、5つ以上の実践的なキャップストーンプロジェクト、トップ企業との仕事の支援。

機械学習プロジェクトを展開する上での最大の難しさは何ですか?

機械学習プロジェクトを展開する際の最大の難しさは、データ収集の不完全さです。 ほとんどの場合、正確な分析を行うために必要なすべてのデータを収集するには、時間とお金だけでは不十分です。 したがって、収集されるデータは信頼性が高く、高品質である必要があります。 さらに、適切なデータを選択する必要があります。 データの選択は、プロジェクトの展開の鍵となります。

機械学習におけるStreamlitとは何ですか?

Streamlitは、機械学習用のインクリメンタルアルゴリズムです。 ニューラルネットワークの探索空間が非常に大きく、トレーニングが高速であるという事実を利用しているため、空間全体を探索する必要はありませんが、ニューラルネットワークをローカルに構築できます。 StreamLitは、シーケンシャルデータの処理に使用される長短期記憶の形式です。 これは、RNNを使用してデータを数値のベクトルにエンコードする深層学習アルゴリズムです。 これらのベクトルは、グラフまたはテキストでデータを表すために使用できます。 また、自然言語のテキストを生成するために使用することもできます。

Streamlitを使用してデプロイするにはどうすればよいですか?

Streamlitを使用した展開は簡単です。 まず、Streamlitアカウントが必要です。 次に、展開できるソフトウェアが必要です。 たとえば、Beanstalk、S3、またはrsyncです。 第三に、展開のためにソフトウェアを準備する必要があります。 rsyncを使用してアプリをWebサーバーにコピーします。 新しいWebサイトを展開する場合、そのWebサイトはコピーしたディレクトリです。 既存のWebサイトを展開している場合、アップロードされたWebサイトはコピーしたディレクトリです。 画面左側の