|
|
@@ -449,15 +449,15 @@ export function Training() {
|
|
|
<div style={{ display: 'grid', gridTemplateColumns: 'repeat(3, 1fr)', gap: 12, marginBottom: 16 }}>
|
|
|
<div>
|
|
|
<label style={{ display: 'block', fontSize: 12, color: '#666', marginBottom: 4 }}>训练轮数 (Epochs)</label>
|
|
|
- <Select options={EPOCH_PRESETS} value={epochs} onChange={setEpochs} />
|
|
|
+ <Select options={EPOCH_PRESETS} value={String(epochs)} onChange={v => setEpochs(Number(v))} />
|
|
|
</div>
|
|
|
<div>
|
|
|
<label style={{ display: 'block', fontSize: 12, color: '#666', marginBottom: 4 }}>批次大小 (Batch Size)</label>
|
|
|
- <Select options={BATCH_SIZE_PRESETS} value={batchSize} onChange={setBatchSize} />
|
|
|
+ <Select options={BATCH_SIZE_PRESETS} value={String(batchSize)} onChange={v => setBatchSize(Number(v))} />
|
|
|
</div>
|
|
|
<div>
|
|
|
<label style={{ display: 'block', fontSize: 12, color: '#666', marginBottom: 4 }}>梯度累积</label>
|
|
|
- <Select options={GRAD_ACC_PRESETS} value={gradAcc} onChange={setGradAcc} />
|
|
|
+ <Select options={GRAD_ACC_PRESETS} value={String(gradAcc)} onChange={v => setGradAcc(Number(v))} />
|
|
|
</div>
|
|
|
<div>
|
|
|
<label style={{ display: 'block', fontSize: 12, color: '#666', marginBottom: 4 }}>学习率</label>
|
|
|
@@ -465,11 +465,11 @@ export function Training() {
|
|
|
</div>
|
|
|
<div>
|
|
|
<label style={{ display: 'block', fontSize: 12, color: '#666', marginBottom: 4 }}>最大序列长度</label>
|
|
|
- <Select options={SEQ_LEN_PRESETS} value={seqLen} onChange={setSeqLen} />
|
|
|
+ <Select options={SEQ_LEN_PRESETS} value={String(seqLen)} onChange={v => setSeqLen(Number(v))} />
|
|
|
</div>
|
|
|
<div>
|
|
|
<label style={{ display: 'block', fontSize: 12, color: '#666', marginBottom: 4 }}>LoRA Rank (R)</label>
|
|
|
- <Select options={LORA_R_PRESETS} value={loraR} onChange={setLoraR} />
|
|
|
+ <Select options={LORA_R_PRESETS} value={String(loraR)} onChange={v => setLoraR(Number(v))} />
|
|
|
</div>
|
|
|
</div>
|
|
|
|