> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/reference/ja/tui-lun/inference-sdk/model-management.md).

# モデル管理

## モデル重みのダウンロード

セルフホスト型の Inference Server を使用する場合、推論を実行する前にモデルを事前読み込みして、重みをダウンロードしキャッシュできます：

```python
from inference_sdk import InferenceHTTPClient

client = InferenceHTTPClient(
    api_url="http://localhost:9001",
    api_key="YOUR_ROBOFLOW_API_KEY"
)

# モデルを事前読み込みする（重みをサーバーのキャッシュにダウンロードします）
client.load_model(model_id="rfdetr-base")
```

代わりに、最初の推論を実行すると自動的にダウンロードが開始されます。

Workflows では、Workflow で使用されるすべてのモデルも事前読み込みし、Workflow を一度実行してその定義をキャッシュしておく必要があります。

サーバーに読み込まれているモデルを確認できます：

```python
loaded_models = client.list_loaded_models()
print(f"Loaded models: {loaded_models}")
```

詳細はこちら： [重みのキャッシュ、永続ストレージ、Docker設定](/reference/ja/tui-lun/inference-python/offline-weights.md).

## Inference Server を制御する方法

### サーバー情報の取得

```python
from inference_sdk import InferenceHTTPClient

# ROBOFLOW_API_KEY を Roboflow の API キーに置き換えてください
CLIENT = InferenceHTTPClient(
    api_url="http://localhost:9001",
    api_key="ROBOFLOW_API_KEY"
)
CLIENT.get_server_info()
```

### 読み込まれたモデルの一覧

```python
from inference_sdk import InferenceHTTPClient

# ROBOFLOW_API_KEY を Roboflow の API キーに置き換えてください
CLIENT = InferenceHTTPClient(
    api_url="http://localhost:9001",
    api_key="ROBOFLOW_API_KEY"
)
CLIENT.list_loaded_models()
```

非同期版： `list_loaded_models_async()`

### 特定のモデルの説明を取得する

```python
from inference_sdk import InferenceHTTPClient

# ROBOFLOW_API_KEY を Roboflow の API キーに置き換えてください
CLIENT = InferenceHTTPClient(
    api_url="http://localhost:9001",
    api_key="ROBOFLOW_API_KEY"
)
CLIENT.get_model_description(model_id="some/1", allow_loading=True)
```

もし `allow_loading` が次に設定されている場合 `True`、まだ読み込まれていなければ副作用としてモデルが読み込まれます。デフォルト： `True`.

非同期版： `get_model_description_async()`

### モデルの読み込み

```python
from inference_sdk import InferenceHTTPClient

# ROBOFLOW_API_KEY を Roboflow の API キーに置き換えてください
CLIENT = InferenceHTTPClient(
    api_url="http://localhost:9001",
    api_key="ROBOFLOW_API_KEY"
)
CLIENT.load_model(model_id="some/1", set_as_default=True)
```

指定したモデルが読み込まれます。もし `set_as_default` が次に設定されている場合 `True`、読み込みに成功するとそのモデルがクライアントのデフォルトモデルとして使用されます。デフォルト値： `False`.

非同期版： `load_model_async()`

### モデルのアンロード

```python
from inference_sdk import InferenceHTTPClient

# ROBOFLOW_API_KEY を Roboflow の API キーに置き換えてください
CLIENT = InferenceHTTPClient(
    api_url="http://localhost:9001",
    api_key="ROBOFLOW_API_KEY"
)
CLIENT.unload_model(model_id="some/1")
```

サーバー側で OOM を回避するために、モデルのアンロードが必要になる場合があります。

非同期版： `unload_model_async()`

### すべてのモデルのアンロード

```python
from inference_sdk import InferenceHTTPClient

# ROBOFLOW_API_KEY を Roboflow の API キーに置き換えてください
CLIENT = InferenceHTTPClient(
    api_url="http://localhost:9001",
    api_key="ROBOFLOW_API_KEY"
)
CLIENT.unload_all_models()
```

非同期版： `unload_all_models_async()`
