The only disappointment is that AMD's software stack is very lacking for compute. While, Nvidia commands absurd prices for 2080Ti with a mere 11GB GDDR6, Radeon's with 16 GB of HBM2 are closer to the memory spec of Titan V100.
OpenCL, while being a much cleaner API, suffers badly from the lack of quality libraries. The requirements aren't even that large for the killer application of DL - BLAS, a few convolution kernels, and random number generation. Darknet's {of the YOLO fame} interface to CUDA, for instance is composed of fewer than 10-15 functions.
AMD's efforts in this regards have not been very satisfactory IMO. Infact third party work such as CLBLAST are of much higher code quality than libraries like AMD's own CLBLAS (or it was). Sadly, AMD over the past few years has seems to have come under the belief that building a transpiler from CUDA bytecode to AMD's would be the magic bullet. It remains to be seen if this will suffice, but it does seem like a quixotic solution to a straightforward problem.
Had such a foundational software libraries (which mind you requires a lot of harware tailored optimization ) been perfected over the past few years (even while being multiple years behind NVDA), they could easily have turned the game, more so considering NVDA's shady tactics of banning GTX/RTX cards in the cloud.
I don't know what went wrong. It's not like AMD didn't have engineers working on ML applications; the direction seems misguided - AMD's engineers (unlike NVDIA's) seem to have focussed on porting frameworks onto low quality libraries, rather than securing the foundation. I'm afraid the ROCm effort will have the same effect.