- Add MLflow, WandB, Streamlit, Dash, Panel, Bokeh to environment.yml - Update security policy to allow network access for ML tools - Modify secure_runner.py to check tool permissions - Add test script and usage guide - Enable localhost network access for dashboard tools
68 lines
1.3 KiB
Markdown
68 lines
1.3 KiB
Markdown
# ML Tools Integration Guide
|
|
|
|
Data scientists can now use their preferred ML tools securely!
|
|
|
|
## Available Tools
|
|
|
|
- **MLflow** - Experiment tracking and model registry
|
|
- **Weights & Biases** - Experiment tracking and visualization
|
|
- **Streamlit** - Interactive web apps
|
|
- **Dash** - Plotly-based web dashboards
|
|
- **Panel** - Data apps and dashboards
|
|
- **Bokeh** - Interactive visualizations
|
|
|
|
## Quick Start
|
|
|
|
### 1. Test Tools Available
|
|
```bash
|
|
cd podman
|
|
python test_ml_tools.py
|
|
```
|
|
|
|
### 2. Use MLflow
|
|
```python
|
|
import mlflow
|
|
|
|
# Start tracking
|
|
with mlflow.start_run():
|
|
mlflow.log_param("epochs", 10)
|
|
mlflow.log_metric("accuracy", 0.95)
|
|
```
|
|
|
|
### 3. Launch Streamlit App
|
|
```bash
|
|
# In your secure container
|
|
streamlit run my_app.py --server.port 8501
|
|
```
|
|
|
|
### 4. Use Dash Dashboard
|
|
```python
|
|
import dash
|
|
import dash_core_components as dcc
|
|
import dash_html_components as html
|
|
|
|
app = dash.Dash(__name__)
|
|
app.run_server(debug=True, host='0.0.0.0', port=8050)
|
|
```
|
|
|
|
## Security Features
|
|
|
|
- Network access limited to localhost only
|
|
- Tools pre-approved in security policy
|
|
- Container isolation maintained
|
|
- No external internet access
|
|
|
|
## Custom Requirements
|
|
|
|
Add your own tools via `requirements.txt`:
|
|
```
|
|
mlflow==2.7.0
|
|
wandb==0.16.0
|
|
streamlit==1.28.0
|
|
```
|
|
|
|
## Access URLs
|
|
|
|
- Streamlit: http://localhost:8501
|
|
- Dash: http://localhost:8050
|
|
- MLflow UI: http://localhost:5000
|