File size: 5,434 Bytes
dad38af
 
25ee244
9b6c398
187dfe3
9943edc
dad38af
25ee244
 
df535f0
25ee244
4e5ec04
c366534
6f43399
90606bb
900e53c
df535f0
4b565a0
1bbca5f
 
3162b09
6f43399
25ee244
72f8fd4
25ee244
dad38af
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
267328b
 
 
dad38af
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
---
license: apache-2.0
base_model:
- heathcliff01/Kaloscope2.0
- heathcliff01/Kaloscope
pipeline_tag: image-classification
---


ONNX conversion of kaloscope model.  

[🤗 Space Demo](https://huggingface.co/spaces/DraconicDragon/Kaloscope-artist-style-classifier) for ONNX & PyTorch inference implementation (incl. timm+lsnet; OpenVINO accelerate CPU inference; no Triton required - refer to [ska.py](https://huggingface.co/spaces/DraconicDragon/Kaloscope-artist-style-classifier/blob/main/lsnet/ska.py) or [here](https://github.com/spawner1145/comfyui-lsnet/pull/2))  
Barebones standalone ONNX inference script (no timm or lsnet; scores are a tiny bit different - probably different img preprocessing): [onnx_barebones_inference.py](https://huggingface.co/DraconicDragon/Kaloscope-onnx-ema/blob/main/onnx_barebones_inference.py)

- `kaloscope_1-0.onnx`: Exported from `best_checkpoint.pth` original Kaloscope release | dynamo=False, dynamic_axes={"input": {0: "batch_size"}, "output": {0: "batch_size"},}, opset_version=None (torch 2.8.0 used here defaults to 18 when None), optimization/constant folding enabled
- `kaloscope_1-1.onnx`: Exported from `224-85.65/best_checkpoint.pth` aka v1.1 | Same settings as v1.0
- `v2.0/kaloscope_2-0.onnx`: Exported from `Kaloscope2.0/448-90.13/best_checkpoint.pth` aka v2.0 | Same settings as v1.0

Conversion/Export script: [colab notebook](https://huggingface.co/DraconicDragon/Kaloscope-onnx/blob/main/convert_scripts/kaloscope_pth2onnx_colab.ipynb)  
theres an extra pytorch ema only version (`best_checkpoint_ema.pth`) of the model which is roughly 4 times smaller but seems to output different results; did not do extensive tests. ONNX version recommended over this (script used: [save_ema.py](https://huggingface.co/DraconicDragon/Kaloscope-onnx-ema/blob/main/save_ema.py))  

<hr>

Original description for v1.0-v1.1 (see https://huggingface.co/heathcliff01/Kaloscope2.0 for 2.0):

# LSNet 艺术家风格分类模型 Model Card

## 模型概述

**模型名称**: 
Kaloscope Artist Style Classification Model  
**模型版本**: v1.0  
**发布日期**: 2025年10月  
**模型类型**: 图像分类 (艺术家风格识别)  
**架构**: LSNet (See Large, Focus Small)  

## 模型描述

本模型基于LSNet架构构建,专门用于识别和分类不同艺术家的绘画风格。LSNet是一个轻量级视觉模型,灵感来源于人类视觉系统的动态异尺度能力,即"看大局,聚焦细节"的特性。

### 架构特点
- **设计理念**: 基于人类视觉系统的"See Large, Focus Small"原理
- **模型系列**: 支持LSNet-T、LSNet-S、LSNet-B三种规模
- **参数量**: 约100M参数
- **优化目标**: 在保持高精度的同时实现高效推理

## 训练数据

### 数据来源
- **数据集**: Danbooru数据集 (截止到2024年10月)
- **数据筛选**: 选取图像数量在50张以上的艺术家
- **总分类数**: 31,770个艺术家类别
- **数据采样策略**: 
  - 图像数量超过100张的艺术家:选取ID最靠后的100张图像
  - 图像数量50-100张的艺术家:使用全部图像

### 数据预处理
- 图像尺寸: 224×224像素
- 数据增强: 标准ImageNet预处理流程
- 验证集划分: 5%的数据用于验证

## 训练配置

### 硬件环境
- **GPU配置**: 8×H20 GPU
- **训练时长**: 80个epoch
- **批次大小**: 256 (每GPU)

### 训练参数
- **优化器**: AdamW
- **学习率调度**: Cosine Annealing
- **数据并行**: 分布式训练 (8卡)
- **模型参数量**: ~100M

### 性能指标
- **最终准确率**: 84.2%
- **验证方式**: Top-1准确率
- **评估数据**: 验证集 (5%的数据)

## 模型性能

### 分类性能
| 指标 | 数值 |
|------|------|
| Top-1 准确率 | 84.2% |
| 总类别数 | 31,770 |
| 参数量 | ~100M |
| 训练轮数 | 80 epochs |

### 推理性能
- **输入格式**: RGB图像,224×224像素
- **输出格式**: 31,770维概率分布
- **推理速度**: 高效推理 (具体数值取决于硬件)

## 使用方法

### 环境要求
```bash
pip install torch torchvision timm
```

### 基本使用
```python
import torch
from timm.models import create_model
# 加载模型
model = create_model('lsnet_t_artist', pretrained=True, num_classes=31770)
model.eval()
# 推理
with torch.no_grad():
    output = model(input_tensor)
    probabilities = torch.softmax(output, dim=1)
```
### Comfyui内使用
安装comfyui节点:https://github.com/spawner1145/comfyui-lsnet
下载本仓库模型即可使用
### 相关资源
- **论文**: [LSNet: See Large, Focus Small](https://arxiv.org/abs/2503.23135)
- **代码仓库**: (https://github.com/spawner1145/lsnet-test)
- **预训练模型**: 可通过Hugging Face Hub获取

### 引用信息
```bibtex
@misc{wang2025lsnetlargefocussmall,
      title={LSNet: See Large, Focus Small}, 
      author={Ao Wang and Hui Chen and Zijia Lin and Jungong Han and Guiguang Ding},
      year={2025},
      eprint={2503.23135},
      archivePrefix={arXiv},
      primaryClass={cs.CV},
      url={https://arxiv.org/abs/2503.23135}, 
}
```

## 更新日志

### v1.0 (2025年10月)
- 初始版本发布
- 基于Danbooru数据集训练
- 支持31,770个艺术家类别
- 达到84.2%的分类准确率
### v1.1 (2025年10月)
- 150epoch
- 达到85.6%的分类准确率
---

**免责声明**: 本模型仅供研究和教育用途。在商业应用中使用时,请确保遵守相关法律法规和伦理准则。