holoviz / holoviz/param

Support parameters used in machine learning and AI

Open
#576 1 comment 0 reactions 0 assignees View on GitHub
type-feature
Dominant language
Python
Stars
521
Forks
86
Avg merge
1d 13h
Merged PRs (30d)
35

Description

## Context

I have been trying to understand why I don't see a lot of adoption of Param and Panel for Machine Learning and AI.

I have looked at Gradio that create `interface`s for models. And from that I believe that some Parameters are missing from Param. Gradio takes the approach of annotating your model with input widgets. From the input widgets the parameter types are inferred. That is the opposite of what Param/ Panel does.

## Summary

If I take a look at the inputs of Gradio I believe the following could be missing from param

- Image
- Video
- Audio
- File

## Analysis

![image](https://user-images.githubusercontent.com/42288570/143810070-e56ea1ab-8484-452c-b513-a1f3fdb6f6aa.png)

```python
class MyModel(param.Parameterized):
textbox = param.String()
number = param.Number()
slider = param.Number()
checkbox = param.Boolean()
checkboxgroup = param.Selector()
radio = param.Selector()
dropdown = param.Selector()
image = param.Image() # Does not exist
video = param.Video() # Does not exist
audio = param.Audio() # Does not exist
file = param.File() # Does not exist
dataframe = param.DataFrame()
timeseries = param.TimeSeries() # Does not exist
```

## Additional Context

### Panel

In Panel we are then lacking the drag and drop inputs for `Image`, `Video`, `Audio` and `File` that displays the things that is dropped onto the input.

![image](https://user-images.githubusercontent.com/42288570/143810455-c33c8a07-4c4d-436e-b5f1-b80fc04a0f23.png)

### Interface

I am considering how we can make it as easy and powerful to create model interfaces with Panel as it is with Gradio. One approach is to get very inspired by its [interface api](https://gradio.app/docs/#interface). Another approach would be to stick to a Param/ Panel approach but make it as easy to use as possible.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.