Converter imagem em CVPixelBuffer for Machine Learning Swift

Estou tentando fazer com que os modelos Core ML de amostra da Apple que foram demostrados na WWDC 2017 funcionem corretamente. Estou usando o GoogLeNet para tentar classificar imagens (consulte oPágina de aprendizado de máquina da Apple) O modelo usa um CVPixelBuffer como entrada. Eu tenho uma imagem chamada imageSample.jpg que estou usando para esta demonstração. Meu código está abaixo:

        var sample = UIImage(named: "imageSample")?.cgImage
        let bufferThree = getCVPixelBuffer(sample!)

        let model = GoogLeNetPlaces()
        guard let output = try? model.prediction(input: GoogLeNetPlacesInput.init(sceneImage: bufferThree!)) else {
            fatalError("Unexpected runtime error.")
        }

        print(output.sceneLabel)

Estou sempre recebendo o erro de execução inesperado na saída, em vez de uma classificação de imagem. Meu código para converter a imagem está abaixo:

func getCVPixelBuffer(_ image: CGImage) -> CVPixelBuffer? {
        let imageWidth = Int(image.width)
        let imageHeight = Int(image.height)

        let attributes : [NSObject:AnyObject] = [
            kCVPixelBufferCGImageCompatibilityKey : true as AnyObject,
            kCVPixelBufferCGBitmapContextCompatibilityKey : true as AnyObject
        ]

        var pxbuffer: CVPixelBuffer? = nil
        CVPixelBufferCreate(kCFAllocatorDefault,
                            imageWidth,
                            imageHeight,
                            kCVPixelFormatType_32ARGB,
                            attributes as CFDictionary?,
                            &pxbuffer)

        if let _pxbuffer = pxbuffer {
            let flags = CVPixelBufferLockFlags(rawValue: 0)
            CVPixelBufferLockBaseAddress(_pxbuffer, flags)
            let pxdata = CVPixelBufferGetBaseAddress(_pxbuffer)

            let rgbColorSpace = CGColorSpaceCreateDeviceRGB();
            let context = CGContext(data: pxdata,
                                    width: imageWidth,
                                    height: imageHeight,
                                    bitsPerComponent: 8,
                                    bytesPerRow: CVPixelBufferGetBytesPerRow(_pxbuffer),
                                    space: rgbColorSpace,
                                    bitmapInfo: CGImageAlphaInfo.premultipliedFirst.rawValue)

            if let _context = context {
                _context.draw(image, in: CGRect.init(x: 0, y: 0, width: imageWidth, height: imageHeight))
            }
            else {
                CVPixelBufferUnlockBaseAddress(_pxbuffer, flags);
                return nil
            }

            CVPixelBufferUnlockBaseAddress(_pxbuffer, flags);
            return _pxbuffer;
        }

        return nil
    }

Eu recebi esse código de uma postagem anterior do StackOverflow (última respostaaqui) Reconheço que o código pode não estar correto, mas não tenho idéia de como fazer isso sozinho. Eu acredito que esta é a seção que contém o erro. O modelo solicita o seguinte tipo de entrada:Image<RGB,224,224>

questionAnswers(1)

yourAnswerToTheQuestion