mirror of
https://github.com/Art051/immich.git
synced 2025-08-11 19:29:00 +00:00
* add unicorn to eslint * fix lint errors for cli * fix merge * fix album name extraction * Update cli/src/commands/upload.command.ts Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com> * es2k23 * use lowercase os * return undefined album name * fix bug in asset response dto * auto fix issues * fix server code style * es2022 and formatting * fix compilation error * fix test * fix config load * fix last lint errors * set string type * bump ts * start work on web * web formatting * Fix UUIDParamDto as UUIDParamDto * fix library service lint * fix web errors * fix errors * formatting * wip * lints fixed * web can now start * alphabetical package json * rename error * chore: clean up --------- Co-authored-by: Ben McCann <322311+benmccann@users.noreply.github.com> Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
130 lines
2.4 KiB
TypeScript
130 lines
2.4 KiB
TypeScript
export type ModelInfo = {
|
|
dimSize: number;
|
|
};
|
|
|
|
export const CLIP_MODEL_INFO: Record<string, ModelInfo> = {
|
|
RN50__openai: {
|
|
dimSize: 1024,
|
|
},
|
|
RN50__yfcc15m: {
|
|
dimSize: 1024,
|
|
},
|
|
RN50__cc12m: {
|
|
dimSize: 1024,
|
|
},
|
|
RN101__openai: {
|
|
dimSize: 512,
|
|
},
|
|
RN101__yfcc15m: {
|
|
dimSize: 512,
|
|
},
|
|
RN50x4__openai: {
|
|
dimSize: 640,
|
|
},
|
|
RN50x16__openai: {
|
|
dimSize: 768,
|
|
},
|
|
RN50x64__openai: {
|
|
dimSize: 1024,
|
|
},
|
|
'ViT-B-32__openai': {
|
|
dimSize: 512,
|
|
},
|
|
'ViT-B-32__laion2b_e16': {
|
|
dimSize: 512,
|
|
},
|
|
'ViT-B-32__laion400m_e31': {
|
|
dimSize: 512,
|
|
},
|
|
'ViT-B-32__laion400m_e32': {
|
|
dimSize: 512,
|
|
},
|
|
'ViT-B-32__laion2b-s34b-b79k': {
|
|
dimSize: 512,
|
|
},
|
|
'ViT-B-16__openai': {
|
|
dimSize: 512,
|
|
},
|
|
'ViT-B-16__laion400m_e31': {
|
|
dimSize: 512,
|
|
},
|
|
'ViT-B-16__laion400m_e32': {
|
|
dimSize: 512,
|
|
},
|
|
'ViT-B-16-plus-240__laion400m_e31': {
|
|
dimSize: 640,
|
|
},
|
|
'ViT-B-16-plus-240__laion400m_e32': {
|
|
dimSize: 640,
|
|
},
|
|
'ViT-L-14__openai': {
|
|
dimSize: 768,
|
|
},
|
|
'ViT-L-14__laion400m_e31': {
|
|
dimSize: 768,
|
|
},
|
|
'ViT-L-14__laion400m_e32': {
|
|
dimSize: 768,
|
|
},
|
|
'ViT-L-14__laion2b-s32b-b82k': {
|
|
dimSize: 768,
|
|
},
|
|
'ViT-L-14-336__openai': {
|
|
dimSize: 768,
|
|
},
|
|
'ViT-L-14-quickgelu__dfn2b': {
|
|
dimSize: 768,
|
|
},
|
|
'ViT-H-14__laion2b-s32b-b79k': {
|
|
dimSize: 1024,
|
|
},
|
|
'ViT-H-14-quickgelu__dfn5b': {
|
|
dimSize: 1024,
|
|
},
|
|
'ViT-H-14-378-quickgelu__dfn5b': {
|
|
dimSize: 1024,
|
|
},
|
|
'ViT-g-14__laion2b-s12b-b42k': {
|
|
dimSize: 1024,
|
|
},
|
|
'LABSE-Vit-L-14': {
|
|
dimSize: 768,
|
|
},
|
|
'XLM-Roberta-Large-Vit-B-32': {
|
|
dimSize: 512,
|
|
},
|
|
'XLM-Roberta-Large-Vit-B-16Plus': {
|
|
dimSize: 640,
|
|
},
|
|
'XLM-Roberta-Large-Vit-L-14': {
|
|
dimSize: 768,
|
|
},
|
|
'XLM-Roberta-Large-ViT-H-14__frozen_laion5b_s13b_b90k': {
|
|
dimSize: 1024,
|
|
},
|
|
'nllb-clip-base-siglip__v1': {
|
|
dimSize: 768,
|
|
},
|
|
'nllb-clip-large-siglip__v1': {
|
|
dimSize: 1152,
|
|
},
|
|
};
|
|
|
|
export function cleanModelName(modelName: string): string {
|
|
const token = modelName.split('/').at(-1);
|
|
if (!token) {
|
|
throw new Error(`Invalid model name: ${modelName}`);
|
|
}
|
|
|
|
return token.replaceAll(':', '_');
|
|
}
|
|
|
|
export function getCLIPModelInfo(modelName: string): ModelInfo {
|
|
const modelInfo = CLIP_MODEL_INFO[cleanModelName(modelName)];
|
|
if (!modelInfo) {
|
|
throw new Error(`Unknown CLIP model: ${modelName}`);
|
|
}
|
|
|
|
return modelInfo;
|
|
}
|