updated parallel logic

This commit is contained in:
caranicas
2022-09-14 12:53:28 -04:00
parent 716491a68e
commit eefa7d53c5
5 changed files with 62 additions and 30 deletions

View File

@ -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}
/>

View File

@ -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>
);
}

View File

@ -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(