Practical comparison with discrete GPUs: AMD Radeon Pro 560 in MacBook Pro 15, and nVidia Titan RTX in a Windows PC


There are enormous articles showing benchmarks of Apple’s M1 SoC. The results indicate its potential not only as a CPU but also as a GPU and a neural processor.

An M1 MacBook Air was delivered to my desk in the second week of December 2020. Before saying welcome to this newcomer, I’d like to see its performance by myself using my research work, semantic segmentation of computed tomography images.

Machines and Methods

I compared its performance with the following machines:

  • MacBook Pro 15 inch with AMD Radeon Pro 560
  • Hewlett-Packard workstation with nVidia Titan RTX

MacBook Pro 15 inch is a product in…

Hands-on Tutorials

The code for TensorFlow-Keras 2.5 and Apple Core ML which generates consistent results through training to prediction

Photo by James Harrison on Unsplash


It is well known among deep-learning manias that bilinear upsampling layers in TensorFlow have pixel-offset issues. This has been partly fixed by adding an ‘align_corner’ attribute to them in TensorFlow 2.x. But the problem remains to cause inconsistent computation flow when exporting a trained model in TensorFlow into another DL framework through various versions.

In my case, a neural network model with bilinear upsampling layers showed weird behavior when converting the trained model from TensorFlow 2.5 to Apple Core ML by using coremltools 3.4. …

Spring is a beginning for all the creatures. Sakura in a local shrine in Ikeda city, Osaka / All the photo credits — Takashi Shirakawa

Photos of Japanese culture and scenes in seasons

Code for GPU computation in Apple Core ML model converted from Keras


I use a Windows machine with nVidia’s powerful GPU for training my Keras model with a huge dataset. This means that I must convert the trained Keras model into Apple’s Core ML format when I use the model for prediction in iPhone, iPad, and Macs.

Additionally, my Keras model has custom layers, my original layers, for better performance.

After a long and winding road, I had successfully imported my custom layers of Keras into my Core ML app. I’d like to share my experience with programmers because there is little information showing the way from the beginning to the end.

Takashi Shirakawa

Surgeon + Engineer + Programmer / Love eating, outdoor and travel

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store