mirror of
https://github.com/easydiffusion/easydiffusion.git
synced 2025-08-09 15:55:01 +02:00
updated parallel logic
This commit is contained in:
@ -23,8 +23,8 @@ const IMAGE_DIMENSIONS = [
|
||||
|
||||
function SettingsList() {
|
||||
|
||||
const requestCount = useImageCreate((state) => state.requestCount);
|
||||
const setRequestCount = useImageCreate((state) => state.setRequestCount);
|
||||
const parallelCount = useImageCreate((state) => state.parallelCount);
|
||||
const setParallelCount = useImageCreate((state) => state.setParallelCount);
|
||||
const setRequestOption = useImageCreate((state) => state.setRequestOptions);
|
||||
|
||||
|
||||
@ -134,9 +134,9 @@ function SettingsList() {
|
||||
Number of images to make:{" "}
|
||||
<input
|
||||
type="number"
|
||||
value={requestCount}
|
||||
value={num_outputs}
|
||||
onChange={(e) =>
|
||||
setRequestCount(parseInt(e.target.value, 10))
|
||||
setRequestOption("num_outputs", parseInt(e.target.value, 10))
|
||||
}
|
||||
size={4}
|
||||
/>
|
||||
@ -145,9 +145,9 @@ function SettingsList() {
|
||||
Generate in parallel:
|
||||
<input
|
||||
type="number"
|
||||
value={num_outputs}
|
||||
value={parallelCount}
|
||||
onChange={(e) =>
|
||||
setRequestOption("num_outputs", parseInt(e.target.value, 10))
|
||||
setParallelCount(parseInt(e.target.value, 10))
|
||||
}
|
||||
size={4}
|
||||
/>
|
||||
|
@ -1,24 +1,60 @@
|
||||
import React, {useEffect, useState}from "react";
|
||||
|
||||
import { useImageCreate } from "../../../store/imageCreateStore";
|
||||
// import { useImageDisplay } from "../../../store/imageDisplayStore";
|
||||
import { useImageQueue } from "../../../store/imageQueueStore";
|
||||
// import { doMakeImage } from "../../../api";
|
||||
import {v4 as uuidv4} from 'uuid';
|
||||
|
||||
import { useRandomSeed } from "../../../utils";
|
||||
|
||||
export default function MakeButton() {
|
||||
|
||||
const parallelCount = useImageCreate((state) => state.parallelCount);
|
||||
const builtRequest = useImageCreate((state) => state.builtRequest);
|
||||
const addNewImage = useImageQueue((state) => state.addNewImage);
|
||||
|
||||
const makeImage = () => {
|
||||
// todo turn this into a loop and adjust the parallel count
|
||||
//
|
||||
const req = builtRequest();
|
||||
addNewImage(uuidv4(), req)
|
||||
const makeImages = () => {
|
||||
const req = builtRequest();
|
||||
let requests = [];
|
||||
let { num_outputs } = req;
|
||||
|
||||
if( parallelCount > num_outputs ) {
|
||||
requests.push(num_outputs);
|
||||
}
|
||||
|
||||
else {
|
||||
while (num_outputs >= 1) {
|
||||
num_outputs -= parallelCount;
|
||||
if(num_outputs <= 0) {
|
||||
requests.push(parallelCount)
|
||||
}
|
||||
else {
|
||||
requests.push(Math.abs(num_outputs))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
console.log('requests', requests);
|
||||
|
||||
requests.forEach((num, index) => {
|
||||
|
||||
console.log('num', num);
|
||||
let seed = req.seed;
|
||||
if(index !== 0) {
|
||||
seed = useRandomSeed();
|
||||
}
|
||||
|
||||
// debugger;
|
||||
|
||||
addNewImage(uuidv4(), {
|
||||
...req,
|
||||
num_outputs: num,
|
||||
seed: seed
|
||||
})
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
return (
|
||||
<button onClick={makeImage}>Make</button>
|
||||
<button onClick={makeImages}>Make</button>
|
||||
);
|
||||
}
|
@ -14,7 +14,6 @@ export default function CurrentImage() {
|
||||
const {id, options} = useImageQueue((state) => state.firstInQueue());
|
||||
console.log('CurrentImage id', id)
|
||||
|
||||
|
||||
const removeFirstInQueue = useImageQueue((state) => state.removeFirstInQueue);
|
||||
|
||||
const { status, data } = useQuery(
|
||||
|
Reference in New Issue
Block a user