5 ms·
Anyone else disgusted by Apples APIs? func BNNSFilterCreateConvolutionLayer(UnsafePointer<BNNSImageStackDescriptor>, UnsafePointer<BNNSImageStackDescriptor>, U
by singularity2001 9y ago
Anyone else disgusted by Apples APIs?
func BNNSFilterCreateConvolutionLayer(UnsafePointer<BNNSImageStackDescriptor>, UnsafePointer<BNNSImageStackDescriptor>, UnsafePointer<BNNSConvolutionLayerParameters>, UnsafePointer<BNNSFilterParameters>?)
Returns a convolution filter, initialized with input, output, layer, and filter parameters.
- shanev 9y agoAccelerate is a low level C framework that is not representative of all Apple APIs. It's only used directly for very specific use cases. Most of the time you'll be creating neural nets with CoreML which is built on Accelerate and has a much friendlier and higher level API.
- aparadja 9y agoThat function sure is ugly, but in general they have done a great job in making their own APIs more easy on the eyes. And even that monstrosity doesn't look that bad in actual use: let filter = BNNSFilterCreateConvolutionLayer(&inDesc, &outDesc, &layerParams, &filterParams) The worst offenders for readability are these C-ish functions that deal with unsafe pointers. But at least in Swift, I appreciate the safety brought by the type checking. It's quite nice that unsafe code is clearly marked.
- pjmlp 9y ago> The worst offenders for readability are these C-ish functions that deal with unsafe pointers. That is exactly the point, to make it pretty clear that the code needs to be scrutinized very carefully for its safety.
- valuearb 9y agoI love the higher level APIs