diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts index 419e6af93b..197e62aa2d 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasImageToImageGraph.ts @@ -1,6 +1,7 @@ import { log } from 'app/logging/useLogger'; import { RootState } from 'app/store/store'; import { NonNullableGraph } from 'features/nodes/types/types'; +import { initialGenerationState } from 'features/parameters/store/generationSlice'; import { ImageDTO, ImageResizeInvocation, @@ -42,9 +43,8 @@ export const buildCanvasImageToImageGraph = ( steps, img2imgStrength: strength, clipSkip, - iterations, - seed, - shouldRandomizeSeed, + shouldUseCpuNoise, + shouldUseNoiseSettings, } = state.generation; // The bounding box determines width and height, not the width and height params @@ -52,6 +52,10 @@ export const buildCanvasImageToImageGraph = ( const model = modelIdToMainModelField(currentModel?.id || ''); + const use_cpu = shouldUseNoiseSettings + ? shouldUseCpuNoise + : initialGenerationState.shouldUseCpuNoise; + /** * The easiest way to build linear graphs is to do it in the node editor, then copy and paste the * full graph here as a template. Then use the parameters from app state and set friendlier node @@ -78,6 +82,7 @@ export const buildCanvasImageToImageGraph = ( [NOISE]: { type: 'noise', id: NOISE, + use_cpu, }, [MAIN_MODEL_LOADER]: { type: 'main_model_loader', diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts index 70e167aead..918f18a34a 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildCanvasTextToImageGraph.ts @@ -1,5 +1,6 @@ import { RootState } from 'app/store/store'; import { NonNullableGraph } from 'features/nodes/types/types'; +import { initialGenerationState } from 'features/parameters/store/generationSlice'; import { addControlNetToLinearGraph } from '../addControlNetToLinearGraph'; import { modelIdToMainModelField } from '../modelIdToMainModelField'; import { addDynamicPromptsToGraph } from './addDynamicPromptsToGraph'; @@ -30,9 +31,8 @@ export const buildCanvasTextToImageGraph = ( scheduler, steps, clipSkip, - iterations, - seed, - shouldRandomizeSeed, + shouldUseCpuNoise, + shouldUseNoiseSettings, } = state.generation; // The bounding box determines width and height, not the width and height params @@ -40,6 +40,10 @@ export const buildCanvasTextToImageGraph = ( const model = modelIdToMainModelField(currentModel?.id || ''); + const use_cpu = shouldUseNoiseSettings + ? shouldUseCpuNoise + : initialGenerationState.shouldUseCpuNoise; + /** * The easiest way to build linear graphs is to do it in the node editor, then copy and paste the * full graph here as a template. Then use the parameters from app state and set friendlier node @@ -68,6 +72,7 @@ export const buildCanvasTextToImageGraph = ( id: NOISE, width, height, + use_cpu, }, [TEXT_TO_LATENTS]: { type: 't2l', diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearImageToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearImageToImageGraph.ts index 8adf2cf342..f8b95b4d77 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearImageToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearImageToImageGraph.ts @@ -1,6 +1,7 @@ import { log } from 'app/logging/useLogger'; import { RootState } from 'app/store/store'; import { NonNullableGraph } from 'features/nodes/types/types'; +import { initialGenerationState } from 'features/parameters/store/generationSlice'; import { ImageCollectionInvocation, ImageResizeInvocation, @@ -48,6 +49,8 @@ export const buildLinearImageToImageGraph = ( width, height, clipSkip, + shouldUseCpuNoise, + shouldUseNoiseSettings, } = state.generation; const { @@ -75,6 +78,10 @@ export const buildLinearImageToImageGraph = ( const model = modelIdToMainModelField(currentModel?.id || ''); + const use_cpu = shouldUseNoiseSettings + ? shouldUseCpuNoise + : initialGenerationState.shouldUseCpuNoise; + // copy-pasted graph from node editor, filled in with state values & friendly node ids const graph: NonNullableGraph = { id: IMAGE_TO_IMAGE_GRAPH, @@ -102,6 +109,7 @@ export const buildLinearImageToImageGraph = ( [NOISE]: { type: 'noise', id: NOISE, + use_cpu, }, [LATENTS_TO_IMAGE]: { type: 'l2i', diff --git a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts index 28ff3656c1..90ddf09343 100644 --- a/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts +++ b/invokeai/frontend/web/src/features/nodes/util/graphBuilders/buildLinearTextToImageGraph.ts @@ -1,5 +1,6 @@ import { RootState } from 'app/store/store'; import { NonNullableGraph } from 'features/nodes/types/types'; +import { initialGenerationState } from 'features/parameters/store/generationSlice'; import { addControlNetToLinearGraph } from '../addControlNetToLinearGraph'; import { modelIdToMainModelField } from '../modelIdToMainModelField'; import { addDynamicPromptsToGraph } from './addDynamicPromptsToGraph'; @@ -29,10 +30,16 @@ export const buildLinearTextToImageGraph = ( width, height, clipSkip, + shouldUseCpuNoise, + shouldUseNoiseSettings, } = state.generation; const model = modelIdToMainModelField(currentModel?.id || ''); + const use_cpu = shouldUseNoiseSettings + ? shouldUseCpuNoise + : initialGenerationState.shouldUseCpuNoise; + /** * The easiest way to build linear graphs is to do it in the node editor, then copy and paste the * full graph here as a template. Then use the parameters from app state and set friendlier node @@ -71,6 +78,7 @@ export const buildLinearTextToImageGraph = ( id: NOISE, width, height, + use_cpu, }, [TEXT_TO_LATENTS]: { type: 't2l',