<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _initialize_upload(self):
 """ Initialized the upload on the API server by submitting the information about the project, the file name, file size and the part size that is going to be used during multipart upload. """

        init_data = {
            'name': self._file_name,
            'part_size': self._part_size,
            'size': self._file_size
        }

        if self._project:
            init_data['project'] = self._project
        elif self._parent:
            init_data['parent'] = self._parent

        init_params = {}
        if self._overwrite:
            init_params['overwrite'] = self._overwrite

        try:
            response = self._api.post(
                self._URL['upload_init'], data=init_data, params=init_params
            )
            self._upload_id = response.json()['upload_id']
        except SbgError as e:
            self._status = TransferState.FAILED
            raise SbgError(
                'Unable to initialize upload! Failed to get upload id! '
                'Reason: {}'.format(e.message)
            )