luxlabs header browser preview


@class NSString, MLPNetwork, MPSKernel, MontrealNNModelNode;

@interface MLPLayer : NSObject

@property (readonly) NSString *name;
@property (readonly) unsigned long long layerType;
@property (retain) MontrealNNModelNode *node;
@property (readonly) int neuronType;
@property (readonly) float neuronA;
@property (readonly) float neuronB;
@property (readonly) float neuronC;
@property unsigned long long inputLength;
@property unsigned long long inputChannels;
@property unsigned long long outputChannels;
@property unsigned long long outputLength;
@property (retain) MPSKernel *forwardKernel;
@property (retain) MPSKernel *secondaryForwardKernel;
@property (retain) MPSKernel *primaryGradientKernel;
@property (retain) MPSKernel *secondaryGradientKernel;
@property (weak) MLPLayer *previousLayer;
@property (weak) MLPLayer *nextLayer;
@property (weak) MLPNetwork *network;

+ (id)layerWithMontrealNode:(id)a0 modelContainer:(void *)a1;

- (void).cxx_destruct;
- (id)backward:(id)a0 inputGradient:(id)a1;
- (void)createKernel;
- (id)forward:(id)a0 input:(id)a1 labels:(id)a2 runInference:(BOOL)a3;
- (id)generateNode:(id)a0 model:(id)a1 weightIter:(unsigned long long *)a2;
- (id)generateNode:(id)a0 model:(id)a1 weightIter:(unsigned long long *)a2 params:(struct { long long x0; long long x1; long long x2; long long x3; long long x4; long long x5; long long x6; long long x7[8]; unsigned long long x8; int x9[8][4]; int x10[4][4]; int x11[16]; float x12[16]; void *x13[16]; void *x14[16]; } *)a3 inputChunks:(id)a4 outputChunks:(id)a5;
- (id)initWithLayerType:(unsigned long long)a0 name:(id)a1 neuronType:(int)a2 neuronParams:(id)a3;
- (id)initWithLayerType:(unsigned long long)a0 name:(id)a1 parameters:(struct { long long x0; long long x1; long long x2; long long x3; long long x4; long long x5; long long x6; long long x7[8]; unsigned long long x8; int x9[8][4]; int x10[4][4]; int x11[16]; float x12[16]; void *x13[16]; void *x14[16]; } *)a2;
- (id)initWithName:(id)a0 parameters:(struct { long long x0; long long x1; long long x2; long long x3; long long x4; long long x5; long long x6; long long x7[8]; unsigned long long x8; int x9[8][4]; int x10[4][4]; int x11[16]; float x12[16]; void *x13[16]; void *x14[16]; } *)a1;
- (long long)montrealTypeFromMPSNeuronType:(int)a0;
- (int)mpsNeuronTypeFromMontrealType:(long long)a0;
- (void)printMatrix:(id)a0 name:(id)a1 cmdBuf:(id)a2;
- (id)seqBackward:(id)a0 dataBatch:(id)a1 inputGradient:(id)a2;
- (id)seqForward:(id)a0 input:(id)a1 dataBatch:(id)a2 runInference:(BOOL)a3;
- (void)updatePreviousLayer:(id)a0 nextLayer:(id)a1 network:(id)a2;

@end