mirror of
https://github.com/ostris/ai-toolkit.git
synced 2026-01-26 16:39:47 +00:00
Merge branch 'main' into flux2
This commit is contained in:
@@ -99,7 +99,10 @@ def _ensure_cpu_pinned(t: Optional[torch.Tensor]) -> Optional[torch.Tensor]:
|
||||
if t is None:
|
||||
return None
|
||||
if t.device.type != "cpu":
|
||||
t = t.to("cpu", copy=True)
|
||||
try:
|
||||
t = t.to("cpu", copy=True)
|
||||
except Exception:
|
||||
t = t.to("cpu")
|
||||
# Don't attempt to pin quantized tensors; many backends don't support it
|
||||
if _is_quantized_tensor(t):
|
||||
return t
|
||||
|
||||
@@ -47,6 +47,7 @@ def unload_text_encoder(model: "BaseModel"):
|
||||
if hasattr(pipe, "text_encoder"):
|
||||
te = FakeTextEncoder(device=model.device_torch, dtype=model.torch_dtype)
|
||||
text_encoder_list.append(te)
|
||||
pipe.text_encoder.to('cpu')
|
||||
pipe.text_encoder = te
|
||||
|
||||
i = 2
|
||||
|
||||
@@ -102,7 +102,7 @@ export default function JobsTable({ onlyActive = false }: JobsTableProps) {
|
||||
jd['Idle'] = { name: 'Idle', jobs: [] };
|
||||
jobs.forEach(job => {
|
||||
const gpu = gpuList.find(gpu => job.gpu_ids?.split(',').includes(gpu.index.toString())) as GpuInfo;
|
||||
const key = `${gpu.index}`;
|
||||
const key = `${gpu?.index || '0'}`;
|
||||
if (['queued', 'running', 'stopping'].includes(job.status) && key in jd) {
|
||||
jd[key].jobs.push(job);
|
||||
} else {
|
||||
|
||||
@@ -46,10 +46,21 @@ export default function SampleImageViewer({
|
||||
const onCancel = useCallback(() => setIsOpen(false), []);
|
||||
|
||||
const imgInfo = useMemo(() => {
|
||||
// handle windows C:\\Apps\\AI-Toolkit\\AI-Toolkit\\output\\LoRA-Name\\samples\\1763563000704__000004000_0.jpg
|
||||
const ii = { filename: '', step: 0, promptIdx: 0 };
|
||||
if (imgPath) {
|
||||
const filename = imgPath.split('/').pop();
|
||||
if (!filename) return ii;
|
||||
// handle windows
|
||||
let filename: string | null = null;
|
||||
if (imgPath.includes('\\')) {
|
||||
const parts = imgPath.split('\\');
|
||||
filename = parts[parts.length - 1];
|
||||
} else {
|
||||
filename = imgPath.split('/').pop() || null;
|
||||
}
|
||||
if (!filename) {
|
||||
console.error('Filename could not be determined from imgPath:', imgPath);
|
||||
return ii;
|
||||
}
|
||||
ii.filename = filename;
|
||||
const parts = filename
|
||||
.split('.')[0]
|
||||
@@ -58,6 +69,8 @@ export default function SampleImageViewer({
|
||||
if (parts.length === 3) {
|
||||
ii.step = parseInt(parts[1]);
|
||||
ii.promptIdx = parseInt(parts[2]);
|
||||
} else {
|
||||
console.error('Unexpected filename format for sample image:', filename);
|
||||
}
|
||||
}
|
||||
return ii;
|
||||
|
||||
Reference in New Issue
Block a user