Example #1
0
    def save(self, filename):
        """Save the parameters into a binary file. [**PyCaffe Style**]

        Parameters
        ----------
        filename : str
            The path of model file.

        Returns
        -------
        None

        See Also
        --------
        `workspace.Snapshot(*args, **kwargs)`_ - How to snapshot tensors into a file.

        References
        ----------
        The implementation of `Net_Save(_caffe.cpp, L153)`_.

        """
        keys = set()
        tensors = []
        for layer in self._net.layer:
            if layer.name in self.params:
                for param in self.params[layer.name]:
                    if param.data.name not in keys:
                        tensors.append(param.data)
                        keys.add(param.data.name)
        ws.Snapshot(tensors, filename, suffix='', format='caffe')
Example #2
0
    def save(self, filename, suffix='.caffemodel'):
        """ simply follow the pycaffe style """
        if not hasattr(self, '_function'): func = self.function
        tensors = []
        for layer in self._net.layer:
            if layer.name in self.params:
                for param in self.params[layer.name]:
                    tensors.append(param.data)

        ws.Snapshot(tensors, filename, suffix=suffix, format=1)
Example #3
0
 def save(self, sess, save_path, global_step=None):
     from ..core.variables import VARIABLES
     global VARIABLES
     var_list = VARIABLES if self.var_list is None else self.var_list
     filename = save_path
     if global_step is not None:
         if isinstance(global_step, Tensor):
             __ndarray__global_step = ws.FetchTensor(global_step)
             if __ndarray__global_step.size != 1:
                 raise ValueError(
                     'global step must be a scalar of length 1.')
             filename += '-' + str(__ndarray__global_step.flatten()[0])
     ws.Snapshot(var_list.values(), filename=filename, suffix='')
Example #4
0
    def snapshot(self):
        """Snapshot the parameters of train net. [**PyCaffe Style**]

        Returns
        -------
        None

        See Also
        --------
        `workspace.Snapshot(*args, **kwargs)`_ - How to snapshot tensors into a file.

        References
        ----------
        The implementation of `Snapshot(solver.cpp, L403)`_.

        """
        tensors = [blob.data for blob in self._layer_blobs]
        filename = "_iter_" + str(self._iter)
        ws.Snapshot(tensors, filename,
                    prefix=self._param.snapshot_prefix,
                    suffix='.caffemodel', format='caffe')
Example #5
0
 def save(self, episode):
     filename = 'checkpoints/%s_%08d' % (self.model_name, episode)
     ws.Snapshot(self.network_params, filename)