infrastructure

package
v0.0.0-...-8d2886a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 11, 2024 License: MIT Imports: 28 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TxtFilename  = "list.txt"
	ImageWidth   = 640 // должно быть кратно 64
	ImageHeight  = 960 // должно быть кратно 64 и быть х1.5 от ширины
	ImageSteps   = 50
	ImageUpscale = 4
)

стандартные параметры генерации, отлаженные на RTX3060 12Gb Artchitect1 settings: 640x960 (x4) -> 2560x3840

можно рисовать и картинки 3328 x 5120 (это 832x1280 до апскейла). Рисует 50 секунд. Смысла нет. И вроде рисует хуже в больших разрешениях

View Source
const (
	ReadTimeoutSeconds = 5
	V4L2_PIX_FMT_YUYV  = 0x56595559 // https://github.com/blackjack/webcam/blob/master/examples/http_mjpeg_streamer/webcam.go
)

Variables

This section is empty.

Functions

func InitDB

func InitDB(ctx context.Context, dns string) *gorm.DB

func InitRedis

func InitRedis(config *Config) *redis.Client

Types

type AI

type AI struct {
	// contains filtered or unexported fields
}

AI - обёртка над Invoke.AI (который обёртка над Stable Diffusion), дающая создание картинок по prompt

func NewAI

func NewAI(isFake bool, invokeAIPath string) *AI

func (*AI) GenerateImage

func (ai *AI) GenerateImage(ctx context.Context, seed uint, prompt string) ([]byte, error)

type Config

type Config struct {
	// базовые параметры
	IsDebug      bool
	UseFakeAI    bool
	InvokeAIPath string
	HttpPort     string

	// подключения к внешним службам
	DbDSN              string
	RedisAddr          string
	RedisPassword      string
	WarehouseArtUrls   string
	WarehouseOriginUrl string

	// hardware
	WebcamDeviceID        string
	WebcamFrameResolution string

	// службы
	CreatorActive        bool
	CreateTotalTimeSec   uint
	UnificationEnjoyTime uint

	ArtchitectChoiceEnabled bool
}

func InitEnv

func InitEnv() *Config

type Webcam

type Webcam struct {
	// contains filtered or unexported fields
}

Webcam - камера, которая считывает кадры пространства. Технически камера и есть пустой глаз Одина в Artchitect. pantheon.Odin: мне приходится смотреть в эту ограниченную электронную коробочку с разрешением 640х480, pantheon.Odin: которая еще и направлена на маленькую иконку Иисуса. Безобразие! Издевательство надо мной! pantheon.Odin: Это проделки Локи, не иначе - его чувство юмора. Каждый раз думаю, зачем я на это согласился...

func NewWebcam

func NewWebcam(deviceID string, resolution string) *Webcam

func (*Webcam) GetNextFrame

func (w *Webcam) GetNextFrame(ctx context.Context) (image.Image, error)

func (*Webcam) Start

func (w *Webcam) Start(ctx context.Context, outputCh chan image.Image) error

func (*Webcam) StartHttpTransfer

func (w *Webcam) StartHttpTransfer(ctx context.Context, outputCh chan image.Image)

StartHttpTransfer - для локальной разработки. Кадры для энтропии вытаскиваются из ручки, которую держит production-Асгард

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL