Training a Convnet on 300GB data I have a large training set of ~300GB (which is a subset of an even larger dataset ~15TB). 

I am trying train a Convnet with Keras (Tensorflow backend) to do something similar to semantic segmentation. 

I couldn't find any valuable resources to handle such large data. Any suggestions for best practices for such humungous data is appreciated.

Thanks!
You don't need to load the whole dataset into memory at once. The only data you need in memory are the samples in a single training batch. Use the fit_generator method rather than fit to pass in an iterator that feeds samples to your model from disk rather than loading all of that data at once. Here's a tutorial that discusses this more.