text: Title: Passing --imagenet-val (or --imagenet-v2) without --val crashes unnecessarily
  Body: In the current repository, you can evaluate a pretrained model by running
  
  ```
  python src/training/main.py \
      --val-data="/path/to/validation_data.csv"  \
      --resume /path/to/checkpoints/epoch_K.pt
  ```
  
  However, if you try to do the same thing and just try to get the imagenet-val (or imagenet-v2) accuracy
  
  ```
  python src/training/main.py \
      --imagenet-val="/path/to/imagenet/val"  \
      --resume /path/to/checkpoints/epoch_K.pt
  ```
  
  then it crashes:
  
  ```
  Traceback (most recent call last):
    File "src/training/main.py", line 307, in <module>
      main()
    File "src/training/main.py", line 296, in main
      mp.spawn(main_worker, nprocs=ngpus_per_node, args=(ngpus_per_node, log_queue, args))
    File "/opt/conda/envs/open_clip/lib/python3.6/site-packages/torch/multiprocessing/spawn.py", line 199, in spawn
      return start_processes(fn, args, nprocs, join, daemon, start_method='spawn')
    File "/opt/conda/envs/open_clip/lib/python3.6/site-packages/torch/multiprocessing/spawn.py", line 157, in start_processes
      while not context.join():
    File "/opt/conda/envs/open_clip/lib/python3.6/site-packages/torch/multiprocessing/spawn.py", line 118, in join
      raise Exception(msg)
  Exception: 
  
  -- Process 0 terminated with the following error:
  Traceback (most recent call last):
    File "/opt/conda/envs/open_clip/lib/python3.6/site-packages/torch/multiprocessing/spawn.py", line 19, in _wrap
      fn(i, *args)
    File "/home/ncarlini/open_clip/src/training/main.py", line 189, in main_worker
      evaluate(model, data, start_epoch, args, writer, 0)
    File "/home/ncarlini/open_clip/src/training/train.py", line 159, in evaluate
      dataloader = data['val'].dataloader
  KeyError: 'val'
  ```
  
  It should be allowed to get imagenet accuracy without getting using a val dataset.