mirror of
https://github.com/Toastconcern/FrameStudio.git
synced 2026-10-29 04:02:56 +01:00
Frame Studio now builds for Windows (x64, x86, ARM64), Linux (x64, x86, ARM64)
and macOS (Apple Silicon, Intel):
- studio/platform.h with Win32 and POSIX implementations (dialogs through
tinyfiledialogs on Linux/macOS), a GLFW window beside the Win32 one, and a
platform-neutral frame pacer
- MoltenVK support in the renderer (portability enumeration) and bundled in
the macOS app
- 32-bit builds: large-address-aware, LZMA packing within a 32-bit address space
- unaligned file reads in the loaders go through loadUnaligned (no UB)
- scripts/build-studio.sh, studio/build_windows.bat [x64|x86|arm64],
cmake/llvm-mingw.cmake, and a GitHub Actions workflow building every target
Frame Home installs without Studio: frame/install-frame-home.{sh,ps1} and
"Install Frame Home.bat" (packaged as FrameHome-installer.zip).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
80 lines
1.8 KiB
C
80 lines
1.8 KiB
C
|
|
#ifndef FARGAN_DATA_H
|
|
#define FARGAN_DATA_H
|
|
|
|
#include "nnet.h"
|
|
|
|
|
|
#define COND_NET_PEMBED_OUT_SIZE 12
|
|
|
|
#define COND_NET_FDENSE1_OUT_SIZE 64
|
|
|
|
#define COND_NET_FCONV1_OUT_SIZE 128
|
|
|
|
#define COND_NET_FCONV1_IN_SIZE 64
|
|
|
|
#define COND_NET_FCONV1_STATE_SIZE (64 * (2))
|
|
|
|
#define COND_NET_FCONV1_DELAY 1
|
|
|
|
#define COND_NET_FDENSE2_OUT_SIZE 320
|
|
|
|
#define SIG_NET_COND_GAIN_DENSE_OUT_SIZE 1
|
|
|
|
#define SIG_NET_FWC0_CONV_OUT_SIZE 192
|
|
|
|
#define SIG_NET_FWC0_GLU_GATE_OUT_SIZE 192
|
|
|
|
#define SIG_NET_GRU1_OUT_SIZE 160
|
|
|
|
#define SIG_NET_GRU1_STATE_SIZE 160
|
|
|
|
#define SIG_NET_GRU2_OUT_SIZE 128
|
|
|
|
#define SIG_NET_GRU2_STATE_SIZE 128
|
|
|
|
#define SIG_NET_GRU3_OUT_SIZE 128
|
|
|
|
#define SIG_NET_GRU3_STATE_SIZE 128
|
|
|
|
#define SIG_NET_GRU1_GLU_GATE_OUT_SIZE 160
|
|
|
|
#define SIG_NET_GRU2_GLU_GATE_OUT_SIZE 128
|
|
|
|
#define SIG_NET_GRU3_GLU_GATE_OUT_SIZE 128
|
|
|
|
#define SIG_NET_SKIP_GLU_GATE_OUT_SIZE 128
|
|
|
|
#define SIG_NET_SKIP_DENSE_OUT_SIZE 128
|
|
|
|
#define SIG_NET_SIG_DENSE_OUT_OUT_SIZE 40
|
|
|
|
#define SIG_NET_GAIN_DENSE_OUT_OUT_SIZE 4
|
|
|
|
typedef struct {
|
|
LinearLayer cond_net_pembed;
|
|
LinearLayer cond_net_fdense1;
|
|
LinearLayer cond_net_fconv1;
|
|
LinearLayer cond_net_fdense2;
|
|
LinearLayer sig_net_cond_gain_dense;
|
|
LinearLayer sig_net_fwc0_conv;
|
|
LinearLayer sig_net_fwc0_glu_gate;
|
|
LinearLayer sig_net_gru1_input;
|
|
LinearLayer sig_net_gru1_recurrent;
|
|
LinearLayer sig_net_gru2_input;
|
|
LinearLayer sig_net_gru2_recurrent;
|
|
LinearLayer sig_net_gru3_input;
|
|
LinearLayer sig_net_gru3_recurrent;
|
|
LinearLayer sig_net_gru1_glu_gate;
|
|
LinearLayer sig_net_gru2_glu_gate;
|
|
LinearLayer sig_net_gru3_glu_gate;
|
|
LinearLayer sig_net_skip_glu_gate;
|
|
LinearLayer sig_net_skip_dense;
|
|
LinearLayer sig_net_sig_dense_out;
|
|
LinearLayer sig_net_gain_dense_out;
|
|
} FARGAN;
|
|
|
|
int init_fargan(FARGAN *model, const WeightArray *arrays);
|
|
|
|
#endif /* FARGAN_DATA_H */
|