Python caffe.proto.caffe_pb2.Datum() Examples
The following are 7
code examples of caffe.proto.caffe_pb2.Datum().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
caffe.proto.caffe_pb2
, or try the search function
.
Example #1
Source File: io.py From Deep-Learning-Based-Structural-Damage-Detection with MIT License | 6 votes |
def array_to_datum(arr, label=None): """Converts a 3-dimensional array to datum. If the array has dtype uint8, the output data will be encoded as a string. Otherwise, the output data will be stored in float format. """ if arr.ndim != 3: raise ValueError('Incorrect array shape.') datum = caffe_pb2.Datum() datum.channels, datum.height, datum.width = arr.shape if arr.dtype == np.uint8: datum.data = arr.tostring() else: datum.float_data.extend(arr.astype(float).flat) if label is not None: datum.label = label return datum
Example #2
Source File: io.py From TF2 with Apache License 2.0 | 6 votes |
def array_to_datum(arr, label=None): """Converts a 3-dimensional array to datum. If the array has dtype uint8, the output data will be encoded as a string. Otherwise, the output data will be stored in float format. """ if arr.ndim != 3: raise ValueError('Incorrect array shape.') datum = caffe_pb2.Datum() datum.channels, datum.height, datum.width = arr.shape if arr.dtype == np.uint8: datum.data = arr.tostring() else: datum.float_data.extend(arr.flat) if label is not None: datum.label = label return datum
Example #3
Source File: io.py From TF2 with Apache License 2.0 | 6 votes |
def array_to_datum(arr, label=None): """Converts a 3-dimensional array to datum. If the array has dtype uint8, the output data will be encoded as a string. Otherwise, the output data will be stored in float format. """ if arr.ndim != 3: raise ValueError('Incorrect array shape.') datum = caffe_pb2.Datum() datum.channels, datum.height, datum.width = arr.shape if arr.dtype == np.uint8: datum.data = arr.tostring() else: datum.float_data.extend(arr.flat) if label is not None: datum.label = label return datum
Example #4
Source File: evaluate_matchnet.py From matchnet with BSD 2-Clause "Simplified" License | 5 votes |
def ReadPatches(db, pairs, patch_height=64, patch_width=64): """Read patches from the given db handle. Each element in pairs is a pair of keys. Returns ------- Two N * 1 * W * H array in a list, where N is the number of pairs. """ N = len(pairs) patches = [np.zeros((N, 1, patch_height, patch_width), dtype=np.float), np.zeros((N, 1, patch_height, patch_width), dtype=np.float)] idx = 0 # Index to the next available patch in the patch array. parity = 0 for pair in pairs: for key in pair: datum = caffe_pb2.Datum() datum.ParseFromString(db.Get(key)) patches[parity][idx, 0, :, :] = \ np.fromstring(datum.data, np.uint8).reshape( patch_height, patch_width) parity = 1 - parity idx += 1 return patches
Example #5
Source File: io.py From mix-and-match with MIT License | 5 votes |
def array_to_datum(arr, label=0): """Converts a 3-dimensional array to datum. If the array has dtype uint8, the output data will be encoded as a string. Otherwise, the output data will be stored in float format. """ if arr.ndim != 3: raise ValueError('Incorrect array shape.') datum = caffe_pb2.Datum() datum.channels, datum.height, datum.width = arr.shape if arr.dtype == np.uint8: datum.data = arr.tostring() else: datum.float_data.extend(arr.flat) datum.label = label return datum
Example #6
Source File: caffe_mock.py From nideep with BSD 2-Clause "Simplified" License | 5 votes |
def forward(self): return "mock this" # class io: # @staticmethod # def array_to_datum(s): # return Datum()
Example #7
Source File: generate_patch_db.py From matchnet with BSD 2-Clause "Simplified" License | 4 votes |
def main(): # Parse input arguments. args = ParseArgs() # Read the 3Dpoint IDs from the info file. with open(args.info_file) as f: point_id = [int(line.split()[0]) for line in f] # Read the interest point from the interest file. The fields in each line # are: image_id, x, y, orientation, and scale. We parse all of them as float # even though image_id is integer. with open(args.interest_file) as f: interest = [[float(x) for x in line.split()] for line in f] # Create the output database, fail if exists. db = leveldb.LevelDB(args.output_db, create_if_missing=True, error_if_exists=True) # Add patches to the database in batch. batch = leveldb.WriteBatch() total = len(interest) processed = 0 for i, metadata in enumerate(interest): datum = caffe_pb2.Datum() datum.channels, datum.height, datum.width = (1, 64, 64) # Extract the patch datum.data = GetPatchImage(i, args.container_dir).tostring() # Write 3D point ID into the label field. datum.label = point_id[i] # Write other metadata into float_data fields. datum.float_data.extend(metadata) batch.Put(str(i), datum.SerializeToString()) processed += 1 if processed % 1000 == 0: print processed, '/', total # Write the current batch. db.Write(batch, sync=True) # Verify the last written record. d = caffe_pb2.Datum() d.ParseFromString(db.Get(str(processed - 1))) assert (d.data == datum.data) # Start a new batch batch = leveldb.WriteBatch() db.Write(batch, sync=True)