Caffe2 - Python API
A deep learning, cross platform ML framework
train.py
1 
3 from __future__ import absolute_import
4 from __future__ import division
5 from __future__ import print_function
6 from __future__ import unicode_literals
7 
8 from caffe2.python import core, scope
9 from caffe2.proto import caffe2_pb2
10 
11 
12 def Iter(model, blob_out, **kwargs):
13  if 'device_option' in kwargs:
14  del kwargs['device_option']
15  model.param_init_net.ConstantFill(
16  [], blob_out, shape=[1], value=0, dtype=core.DataType.INT64,
17  device_option=core.DeviceOption(caffe2_pb2.CPU, 0),
18  **kwargs)
19  return model.net.Iter(blob_out, blob_out, **kwargs)
20 
21 
22 def Accuracy(model, blob_in, blob_out, **kwargs):
23  dev = kwargs['device_option'] if 'device_option' in kwargs \
25  is_cpu = dev is None or dev.device_type == caffe2_pb2.CPU
26 
27  # We support top_k > 1 only on CPU
28  if not is_cpu and 'top_k' in kwargs and kwargs['top_k'] > 1:
29  pred_host = model.net.CopyGPUToCPU(blob_in[0], blob_in[0] + "_host")
30  label_host = model.net.CopyGPUToCPU(blob_in[1], blob_in[1] + "_host")
31 
32  # Now use the Host version of the accuracy op
33  model.net.Accuracy([pred_host, label_host],
34  blob_out,
35  device_option=core.DeviceOption(caffe2_pb2.CPU, 0),
36  **kwargs)
37  else:
38  model.net.Accuracy(blob_in, blob_out)
def CurrentDeviceScope()
Definition: scope.py:33
def DeviceOption(device_type, cuda_gpu_id=0, random_seed=None)
Definition: core.py:103