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')
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)
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='')
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')
def save(self, episode): filename = 'checkpoints/%s_%08d' % (self.model_name, episode) ws.Snapshot(self.network_params, filename)