From 483f2ccb56aebc4f464c9eeac1f0362c35049255 Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Thu, 11 May 2023 20:31:48 +1000 Subject: [PATCH 1/2] feat(nodes): add RandomIntInvocation just outputs a single random int --- invokeai/app/invocations/math.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/invokeai/app/invocations/math.py b/invokeai/app/invocations/math.py index afb0e753771..b7d2bc5af6a 100644 --- a/invokeai/app/invocations/math.py +++ b/invokeai/app/invocations/math.py @@ -3,6 +3,9 @@ from typing import Literal from pydantic import BaseModel, Field +import numpy as np + +from invokeai.app.util.misc import get_random_seed from .baseinvocation import BaseInvocation, BaseInvocationOutput, InvocationContext, InvocationConfig @@ -73,3 +76,12 @@ class DivideInvocation(BaseInvocation, MathInvocationConfig): def invoke(self, context: InvocationContext) -> IntOutput: return IntOutput(a=int(self.a / self.b)) + + +class RandomIntInvocation(BaseInvocation): + """Outputs a single random integer.""" + #fmt: off + type: Literal["rand_int"] = "rand_int" + #fmt: on + def invoke(self, context: InvocationContext) -> IntOutput: + return IntOutput(a=np.random.randint(0, np.iinfo(np.int32).max)) \ No newline at end of file From ebec200ba6ac8e295d4c22015f1e6dc23421879a Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Fri, 12 May 2023 13:56:02 +1000 Subject: [PATCH 2/2] Remove unused import --- invokeai/app/invocations/math.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/invokeai/app/invocations/math.py b/invokeai/app/invocations/math.py index b7d2bc5af6a..98f87d2dd42 100644 --- a/invokeai/app/invocations/math.py +++ b/invokeai/app/invocations/math.py @@ -5,8 +5,6 @@ from pydantic import BaseModel, Field import numpy as np -from invokeai.app.util.misc import get_random_seed - from .baseinvocation import BaseInvocation, BaseInvocationOutput, InvocationContext, InvocationConfig @@ -84,4 +82,4 @@ class RandomIntInvocation(BaseInvocation): type: Literal["rand_int"] = "rand_int" #fmt: on def invoke(self, context: InvocationContext) -> IntOutput: - return IntOutput(a=np.random.randint(0, np.iinfo(np.int32).max)) \ No newline at end of file + return IntOutput(a=np.random.randint(0, np.iinfo(np.int32).max))