Spaces:
Running
on
CPU Upgrade
Running
on
CPU Upgrade
export const MODALITIES = ["cv", "nlp", "audio", "tabular", "multimodal", "rl", "other"] as const; | |
export type Modality = (typeof MODALITIES)[number]; | |
export const MODALITY_LABELS = { | |
multimodal: "Multimodal", | |
nlp: "Natural Language Processing", | |
audio: "Audio", | |
cv: "Computer Vision", | |
rl: "Reinforcement Learning", | |
tabular: "Tabular", | |
other: "Other", | |
} satisfies Record<Modality, string>; | |
/** | |
* Public interface for a sub task. | |
* | |
* This can be used in a model card's `model-index` metadata. | |
* and is more granular classification that can grow significantly | |
* over time as new tasks are added. | |
*/ | |
export interface SubTask { | |
/** | |
* type of the task (e.g. audio-source-separation) | |
*/ | |
type: string; | |
/** | |
* displayed name of the task (e.g. Audio Source Separation) | |
*/ | |
name: string; | |
} | |
/** | |
* Public interface for a PipelineData. | |
* | |
* This information corresponds to a pipeline type (aka task) | |
* in the Hub. | |
*/ | |
export interface PipelineData { | |
/** | |
* displayed name of the task (e.g. Text Classification) | |
*/ | |
name: string; | |
subtasks?: SubTask[]; | |
modality: Modality; | |
/** | |
* color for the tag icon. | |
*/ | |
color: "blue" | "green" | "indigo" | "orange" | "red" | "yellow"; | |
/** | |
* whether to hide in /models filters | |
*/ | |
hideInModels?: boolean; | |
/** | |
* whether to hide in /datasets filters | |
*/ | |
hideInDatasets?: boolean; | |
} | |
/// Coarse-grained taxonomy of tasks | |
/// | |
/// This type is used in multiple places in the Hugging Face | |
/// ecosystem: | |
/// - To determine which widget to show. | |
/// - To determine which endpoint of Inference Endpoints to use. | |
/// - As filters at the left of models and datasets page. | |
/// | |
/// Note that this is sensitive to order. | |
/// For each domain, the order should be of decreasing specificity. | |
/// This will impact the default pipeline tag of a model when not | |
/// specified. | |
export const PIPELINE_DATA = { | |
"text-classification": { | |
name: "Text Classification", | |
subtasks: [ | |
{ | |
type: "acceptability-classification", | |
name: "Acceptability Classification", | |
}, | |
{ | |
type: "entity-linking-classification", | |
name: "Entity Linking Classification", | |
}, | |
{ | |
type: "fact-checking", | |
name: "Fact Checking", | |
}, | |
{ | |
type: "intent-classification", | |
name: "Intent Classification", | |
}, | |
{ | |
type: "language-identification", | |
name: "Language Identification", | |
}, | |
{ | |
type: "multi-class-classification", | |
name: "Multi Class Classification", | |
}, | |
{ | |
type: "multi-label-classification", | |
name: "Multi Label Classification", | |
}, | |
{ | |
type: "multi-input-text-classification", | |
name: "Multi-input Text Classification", | |
}, | |
{ | |
type: "natural-language-inference", | |
name: "Natural Language Inference", | |
}, | |
{ | |
type: "semantic-similarity-classification", | |
name: "Semantic Similarity Classification", | |
}, | |
{ | |
type: "sentiment-classification", | |
name: "Sentiment Classification", | |
}, | |
{ | |
type: "topic-classification", | |
name: "Topic Classification", | |
}, | |
{ | |
type: "semantic-similarity-scoring", | |
name: "Semantic Similarity Scoring", | |
}, | |
{ | |
type: "sentiment-scoring", | |
name: "Sentiment Scoring", | |
}, | |
{ | |
type: "sentiment-analysis", | |
name: "Sentiment Analysis", | |
}, | |
{ | |
type: "hate-speech-detection", | |
name: "Hate Speech Detection", | |
}, | |
{ | |
type: "text-scoring", | |
name: "Text Scoring", | |
}, | |
], | |
modality: "nlp", | |
color: "orange", | |
}, | |
"token-classification": { | |
name: "Token Classification", | |
subtasks: [ | |
{ | |
type: "named-entity-recognition", | |
name: "Named Entity Recognition", | |
}, | |
{ | |
type: "part-of-speech", | |
name: "Part of Speech", | |
}, | |
{ | |
type: "parsing", | |
name: "Parsing", | |
}, | |
{ | |
type: "lemmatization", | |
name: "Lemmatization", | |
}, | |
{ | |
type: "word-sense-disambiguation", | |
name: "Word Sense Disambiguation", | |
}, | |
{ | |
type: "coreference-resolution", | |
name: "Coreference-resolution", | |
}, | |
], | |
modality: "nlp", | |
color: "blue", | |
}, | |
"table-question-answering": { | |
name: "Table Question Answering", | |
modality: "nlp", | |
color: "green", | |
}, | |
"question-answering": { | |
name: "Question Answering", | |
subtasks: [ | |
{ | |
type: "extractive-qa", | |
name: "Extractive QA", | |
}, | |
{ | |
type: "open-domain-qa", | |
name: "Open Domain QA", | |
}, | |
{ | |
type: "closed-domain-qa", | |
name: "Closed Domain QA", | |
}, | |
], | |
modality: "nlp", | |
color: "blue", | |
}, | |
"zero-shot-classification": { | |
name: "Zero-Shot Classification", | |
modality: "nlp", | |
color: "yellow", | |
}, | |
translation: { | |
name: "Translation", | |
modality: "nlp", | |
color: "green", | |
}, | |
summarization: { | |
name: "Summarization", | |
subtasks: [ | |
{ | |
type: "news-articles-summarization", | |
name: "News Articles Summarization", | |
}, | |
{ | |
type: "news-articles-headline-generation", | |
name: "News Articles Headline Generation", | |
}, | |
], | |
modality: "nlp", | |
color: "indigo", | |
}, | |
"feature-extraction": { | |
name: "Feature Extraction", | |
modality: "nlp", | |
color: "red", | |
}, | |
"text-generation": { | |
name: "Text Generation", | |
subtasks: [ | |
{ | |
type: "dialogue-modeling", | |
name: "Dialogue Modeling", | |
}, | |
{ | |
type: "dialogue-generation", | |
name: "Dialogue Generation", | |
}, | |
{ | |
type: "conversational", | |
name: "Conversational", | |
}, | |
{ | |
type: "language-modeling", | |
name: "Language Modeling", | |
}, | |
], | |
modality: "nlp", | |
color: "indigo", | |
}, | |
"text2text-generation": { | |
name: "Text2Text Generation", | |
subtasks: [ | |
{ | |
type: "text-simplification", | |
name: "Text simplification", | |
}, | |
{ | |
type: "explanation-generation", | |
name: "Explanation Generation", | |
}, | |
{ | |
type: "abstractive-qa", | |
name: "Abstractive QA", | |
}, | |
{ | |
type: "open-domain-abstractive-qa", | |
name: "Open Domain Abstractive QA", | |
}, | |
{ | |
type: "closed-domain-qa", | |
name: "Closed Domain QA", | |
}, | |
{ | |
type: "open-book-qa", | |
name: "Open Book QA", | |
}, | |
{ | |
type: "closed-book-qa", | |
name: "Closed Book QA", | |
}, | |
], | |
modality: "nlp", | |
color: "indigo", | |
}, | |
"fill-mask": { | |
name: "Fill-Mask", | |
subtasks: [ | |
{ | |
type: "slot-filling", | |
name: "Slot Filling", | |
}, | |
{ | |
type: "masked-language-modeling", | |
name: "Masked Language Modeling", | |
}, | |
], | |
modality: "nlp", | |
color: "red", | |
}, | |
"sentence-similarity": { | |
name: "Sentence Similarity", | |
modality: "nlp", | |
color: "yellow", | |
}, | |
"text-to-speech": { | |
name: "Text-to-Speech", | |
modality: "audio", | |
color: "yellow", | |
}, | |
"text-to-audio": { | |
name: "Text-to-Audio", | |
modality: "audio", | |
color: "yellow", | |
}, | |
"automatic-speech-recognition": { | |
name: "Automatic Speech Recognition", | |
modality: "audio", | |
color: "yellow", | |
}, | |
"audio-to-audio": { | |
name: "Audio-to-Audio", | |
modality: "audio", | |
color: "blue", | |
}, | |
"audio-classification": { | |
name: "Audio Classification", | |
subtasks: [ | |
{ | |
type: "keyword-spotting", | |
name: "Keyword Spotting", | |
}, | |
{ | |
type: "speaker-identification", | |
name: "Speaker Identification", | |
}, | |
{ | |
type: "audio-intent-classification", | |
name: "Audio Intent Classification", | |
}, | |
{ | |
type: "audio-emotion-recognition", | |
name: "Audio Emotion Recognition", | |
}, | |
{ | |
type: "audio-language-identification", | |
name: "Audio Language Identification", | |
}, | |
], | |
modality: "audio", | |
color: "green", | |
}, | |
"voice-activity-detection": { | |
name: "Voice Activity Detection", | |
modality: "audio", | |
color: "red", | |
}, | |
"depth-estimation": { | |
name: "Depth Estimation", | |
modality: "cv", | |
color: "yellow", | |
}, | |
"image-classification": { | |
name: "Image Classification", | |
subtasks: [ | |
{ | |
type: "multi-label-image-classification", | |
name: "Multi Label Image Classification", | |
}, | |
{ | |
type: "multi-class-image-classification", | |
name: "Multi Class Image Classification", | |
}, | |
], | |
modality: "cv", | |
color: "blue", | |
}, | |
"object-detection": { | |
name: "Object Detection", | |
subtasks: [ | |
{ | |
type: "face-detection", | |
name: "Face Detection", | |
}, | |
{ | |
type: "vehicle-detection", | |
name: "Vehicle Detection", | |
}, | |
], | |
modality: "cv", | |
color: "yellow", | |
}, | |
"image-segmentation": { | |
name: "Image Segmentation", | |
subtasks: [ | |
{ | |
type: "instance-segmentation", | |
name: "Instance Segmentation", | |
}, | |
{ | |
type: "semantic-segmentation", | |
name: "Semantic Segmentation", | |
}, | |
{ | |
type: "panoptic-segmentation", | |
name: "Panoptic Segmentation", | |
}, | |
], | |
modality: "cv", | |
color: "green", | |
}, | |
"text-to-image": { | |
name: "Text-to-Image", | |
modality: "cv", | |
color: "yellow", | |
}, | |
"image-to-text": { | |
name: "Image-to-Text", | |
subtasks: [ | |
{ | |
type: "image-captioning", | |
name: "Image Captioning", | |
}, | |
], | |
modality: "cv", | |
color: "red", | |
}, | |
"image-to-image": { | |
name: "Image-to-Image", | |
subtasks: [ | |
{ | |
type: "image-inpainting", | |
name: "Image Inpainting", | |
}, | |
{ | |
type: "image-colorization", | |
name: "Image Colorization", | |
}, | |
{ | |
type: "super-resolution", | |
name: "Super Resolution", | |
}, | |
], | |
modality: "cv", | |
color: "indigo", | |
}, | |
"image-to-video": { | |
name: "Image-to-Video", | |
modality: "cv", | |
color: "indigo", | |
}, | |
"unconditional-image-generation": { | |
name: "Unconditional Image Generation", | |
modality: "cv", | |
color: "green", | |
}, | |
"video-classification": { | |
name: "Video Classification", | |
modality: "cv", | |
color: "blue", | |
}, | |
"reinforcement-learning": { | |
name: "Reinforcement Learning", | |
modality: "rl", | |
color: "red", | |
}, | |
robotics: { | |
name: "Robotics", | |
modality: "rl", | |
subtasks: [ | |
{ | |
type: "grasping", | |
name: "Grasping", | |
}, | |
{ | |
type: "task-planning", | |
name: "Task Planning", | |
}, | |
], | |
color: "blue", | |
}, | |
"tabular-classification": { | |
name: "Tabular Classification", | |
modality: "tabular", | |
subtasks: [ | |
{ | |
type: "tabular-multi-class-classification", | |
name: "Tabular Multi Class Classification", | |
}, | |
{ | |
type: "tabular-multi-label-classification", | |
name: "Tabular Multi Label Classification", | |
}, | |
], | |
color: "blue", | |
}, | |
"tabular-regression": { | |
name: "Tabular Regression", | |
modality: "tabular", | |
subtasks: [ | |
{ | |
type: "tabular-single-column-regression", | |
name: "Tabular Single Column Regression", | |
}, | |
], | |
color: "blue", | |
}, | |
"tabular-to-text": { | |
name: "Tabular to Text", | |
modality: "tabular", | |
subtasks: [ | |
{ | |
type: "rdf-to-text", | |
name: "RDF to text", | |
}, | |
], | |
color: "blue", | |
hideInModels: true, | |
}, | |
"table-to-text": { | |
name: "Table to Text", | |
modality: "nlp", | |
color: "blue", | |
hideInModels: true, | |
}, | |
"multiple-choice": { | |
name: "Multiple Choice", | |
subtasks: [ | |
{ | |
type: "multiple-choice-qa", | |
name: "Multiple Choice QA", | |
}, | |
{ | |
type: "multiple-choice-coreference-resolution", | |
name: "Multiple Choice Coreference Resolution", | |
}, | |
], | |
modality: "nlp", | |
color: "blue", | |
hideInModels: true, | |
}, | |
"text-retrieval": { | |
name: "Text Retrieval", | |
subtasks: [ | |
{ | |
type: "document-retrieval", | |
name: "Document Retrieval", | |
}, | |
{ | |
type: "utterance-retrieval", | |
name: "Utterance Retrieval", | |
}, | |
{ | |
type: "entity-linking-retrieval", | |
name: "Entity Linking Retrieval", | |
}, | |
{ | |
type: "fact-checking-retrieval", | |
name: "Fact Checking Retrieval", | |
}, | |
], | |
modality: "nlp", | |
color: "indigo", | |
hideInModels: true, | |
}, | |
"time-series-forecasting": { | |
name: "Time Series Forecasting", | |
modality: "tabular", | |
subtasks: [ | |
{ | |
type: "univariate-time-series-forecasting", | |
name: "Univariate Time Series Forecasting", | |
}, | |
{ | |
type: "multivariate-time-series-forecasting", | |
name: "Multivariate Time Series Forecasting", | |
}, | |
], | |
color: "blue", | |
hideInModels: true, | |
}, | |
"text-to-video": { | |
name: "Text-to-Video", | |
modality: "cv", | |
color: "green", | |
}, | |
"image-text-to-text": { | |
name: "Image-Text-to-Text", | |
modality: "multimodal", | |
color: "red", | |
hideInDatasets: true, | |
}, | |
"visual-question-answering": { | |
name: "Visual Question Answering", | |
subtasks: [ | |
{ | |
type: "visual-question-answering", | |
name: "Visual Question Answering", | |
}, | |
], | |
modality: "multimodal", | |
color: "red", | |
}, | |
"document-question-answering": { | |
name: "Document Question Answering", | |
subtasks: [ | |
{ | |
type: "document-question-answering", | |
name: "Document Question Answering", | |
}, | |
], | |
modality: "multimodal", | |
color: "blue", | |
hideInDatasets: true, | |
}, | |
"zero-shot-image-classification": { | |
name: "Zero-Shot Image Classification", | |
modality: "cv", | |
color: "yellow", | |
}, | |
"graph-ml": { | |
name: "Graph Machine Learning", | |
modality: "other", | |
color: "green", | |
}, | |
"mask-generation": { | |
name: "Mask Generation", | |
modality: "cv", | |
color: "indigo", | |
}, | |
"zero-shot-object-detection": { | |
name: "Zero-Shot Object Detection", | |
modality: "cv", | |
color: "yellow", | |
}, | |
"text-to-3d": { | |
name: "Text-to-3D", | |
modality: "cv", | |
color: "yellow", | |
}, | |
"image-to-3d": { | |
name: "Image-to-3D", | |
modality: "cv", | |
color: "green", | |
}, | |
"image-feature-extraction": { | |
name: "Image Feature Extraction", | |
modality: "cv", | |
color: "indigo", | |
}, | |
other: { | |
name: "Other", | |
modality: "other", | |
color: "blue", | |
hideInModels: true, | |
hideInDatasets: true, | |
}, | |
} satisfies Record<string, PipelineData>; | |
export type PipelineType = keyof typeof PIPELINE_DATA; | |
export type WidgetType = PipelineType | "conversational"; | |
export const PIPELINE_TYPES = Object.keys(PIPELINE_DATA) as PipelineType[]; | |
export const SUBTASK_TYPES = Object.values(PIPELINE_DATA) | |
.flatMap((data) => ("subtasks" in data ? data.subtasks : [])) | |
.map((s) => s.type); | |
export const PIPELINE_TYPES_SET = new Set(PIPELINE_TYPES); | |