|
import React from 'react' |
|
import { useImageClassification } from '../../contexts/ImageClassificationContext' |
|
import { Slider } from '../ui/slider' |
|
|
|
const ImageClassificationConfig = () => { |
|
const { config, setConfig } = useImageClassification() |
|
|
|
return ( |
|
<div className="space-y-4"> |
|
<h3 className="text-lg font-semibold text-foreground"> |
|
Image Classification Settings |
|
</h3> |
|
|
|
<div className="space-y-3"> |
|
<div> |
|
<label className="block text-sm font-medium text-foreground/80 mb-1"> |
|
Top K Predictions: {config.top_k} |
|
</label> |
|
<Slider |
|
defaultValue={[config.top_k]} |
|
min={1} |
|
max={10} |
|
step={1} |
|
onValueChange={(value) => setConfig({ top_k: value[0] })} |
|
className="w-full rounded-lg" |
|
/> |
|
<div className="flex justify-between text-xs text-muted-foreground/60 mt-1"> |
|
<span>1</span> |
|
<span>4</span> |
|
<span>7</span> |
|
<span>10</span> |
|
</div> |
|
<p className="text-xs text-muted-foreground mt-1"> |
|
Number of top predictions to return for each image |
|
</p> |
|
</div> |
|
|
|
<div className="p-3 bg-chart-4/10 border border-chart-4/20 rounded-lg"> |
|
<h4 className="text-sm font-medium text-chart-4 mb-2">💡 Tips</h4> |
|
<div className="text-xs text-chart-4 space-y-1"> |
|
<p>• Use Top K = 3-5 for most cases</p> |
|
<p>• Smaller images process faster</p> |
|
<p>• Try quantized models for speed</p> |
|
</div> |
|
</div> |
|
</div> |
|
</div> |
|
) |
|
} |
|
|
|
export default ImageClassificationConfig |
|
|