luxlabs header browser preview


@class NSString, MPSCNNConvolution;
@protocol MTLBuffer;

@interface MPSCNNConvolutionGradientState : MPSNNGradientState <MPSImageSizeEncodingState> {
    BOOL _initialized;
    id<MTLBuffer> _intermediateWeightsBuffer;
    id<MTLBuffer> _intermeidateBiasesBuffer;
    unsigned long long _numReductionBlocks;
    BOOL _needReductionInN;
    BOOL _needReductionInXY;
    unsigned int _weightsLayout;
    unsigned long long _dimSizeN;
}

@property (readonly, nonatomic) unsigned long long numberOfWeightGradients;
@property (readonly, nonatomic) unsigned long long numberOfBiasGradients;
@property (readonly, nonatomic) id<MTLBuffer> gradientForWeights;
@property (readonly, nonatomic) id<MTLBuffer> gradientForBiases;
@property (readonly, retain, nonatomic) MPSCNNConvolution *convolution;
@property (readonly, nonatomic) unsigned int gradientForWeightsLayout;
@property (readonly, nonatomic) unsigned long long sourceWidth;
@property (readonly, nonatomic) unsigned long long sourceHeight;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

+ (id)temporaryStateWithCommandBuffer:(id)a0 resourceList:(id)a1 convolution:(id)a2;
+ (id)temporaryStateWithCommandBuffer:(id)a0 resourceList:(id)a1 convolution:(id)a2 weightsLayout:(unsigned int)a3;

- (void)dealloc;
- (id)initWithResource:(id)a0;
- (id)destinationImageDescriptorForSourceImages:(id)a0 sourceStates:(id)a1 forKernel:(id)a2 suggestedDescriptor:(id)a3;
- (id)initWithResource:(id)a0 weightsLayout:(unsigned int)a1;
- (id)initWithDevice:(id)a0 resourceList:(id)a1 convolution:(id)a2;
- (id)initWithDevice:(id)a0 resourceList:(id)a1 convolution:(id)a2 weightsLayout:(unsigned int)a3;

@end