title: SageMaker Train job is not creating /opt/ml/input/data/training directory
body: <p>I am trying to create a custom algorithm by following the instruction given in <a href="https://aws.amazon.com/blogs/machine-learning/train-and-host-scikit-learn-models-in-amazon-sagemaker-by-building-a-scikit-docker-container/" rel="nofollow noreferrer">this tutorial</a>.</p>
  
  <p>When I am running the train job it is failing with error No such file or directory: '/opt/ml/input/data/training'.</p>
  
  <p>As per the documentation, SageMaker should create these documents and copy the data and artifacts during the runtime. But this is not happening.</p>
  
  <p>Please share your thoughts on this.</p>
  
  <p>My DockerFile content,</p>
  
  <pre><code># Build an image that can do training and inference in SageMaker
   # This is a Python 2 image that uses the nginx, gunicorn, flask stack
   # for serving inferences in a stable way.
  
   FROM ubuntu:16.04
  
   MAINTAINER Amazon AI &lt;sage-learner@amazon.com
  
  
   RUN apt-get -y update &amp;&amp; apt-get install -y --no-install-recommends \
            wget \
            python \
            nginx \
            ca-certificates \
       &amp;&amp; rm -rf /var/lib/apt/lists/*
  
   # Here we get all python packages.
   # There's substantial overlap between scipy and numpy that we eliminate by
   # linking them together. Likewise, pip leaves the install caches populated which uses
   # a significant amount of space. These optimizations save a fair amount of space in the
   # image, which reduces start up time. RUN wget https://bootstrap.pypa.io/get-pip.py &amp;&amp; python get-pip.py &amp;&amp; \
       pip install numpy==1.16.2 scipy==1.2.1 scikit-learn==0.20.2 pandas flask gevent gunicorn &amp;&amp; \
           (cd /usr/local/lib/python2.7/dist-packages/scipy/.libs; rm *; ln ../../numpy/.libs/* .) &amp;&amp; \
           rm -rf /root/.cache
  
   # Set some environment variables. PYTHONUNBUFFERED keeps Python from buffering our standard
   # output stream, which means that logs can be delivered to the user quickly. PYTHONDONTWRITEBYTECODE
   # keeps Python from writing the .pyc files which are unnecessary in this case. We also update
   # PATH so that the train and serve programs are found when the container is invoked.
  
   ENV PYTHONUNBUFFERED=TRUE ENV PYTHONDONTWRITEBYTECODE=TRUE ENV
   PATH="/opt/program:${PATH}"
  
   # Set up the program in the image COPY decision_trees /opt/program WORKDIR /opt/program
  </code></pre>