本文整理匯總了Python中numpy.copyto方法的典型用法代碼示例。如果您正苦於以下問題:Python numpy.copyto方法的具體用法?Python numpy.copyto怎麽用?Python numpy.copyto使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類numpy
的用法示例。
在下文中一共展示了numpy.copyto方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: save_image
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import copyto [as 別名]
def save_image(data, epoch, image_size, batch_size, output_dir, padding=2):
""" save image """
data = data.asnumpy().transpose((0, 2, 3, 1))
datanp = np.clip(
(data - np.min(data))*(255.0/(np.max(data) - np.min(data))), 0, 255).astype(np.uint8)
x_dim = min(8, batch_size)
y_dim = int(math.ceil(float(batch_size) / x_dim))
height, width = int(image_size + padding), int(image_size + padding)
grid = np.zeros((height * y_dim + 1 + padding // 2, width *
x_dim + 1 + padding // 2, 3), dtype=np.uint8)
k = 0
for y in range(y_dim):
for x in range(x_dim):
if k >= batch_size:
break
start_y = y * height + 1 + padding // 2
end_y = start_y + height - padding
start_x = x * width + 1 + padding // 2
end_x = start_x + width - padding
np.copyto(grid[start_y:end_y, start_x:end_x, :], datanp[k])
k += 1
imageio.imwrite(
'{}/fake_samples_epoch_{}.png'.format(output_dir, epoch), grid)
示例2: draw_keypoints_on_image_array
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import copyto [as 別名]
def draw_keypoints_on_image_array(image,
keypoints,
color='red',
radius=2,
use_normalized_coordinates=True):
"""Draws keypoints on an image (numpy array).
Args:
image: a numpy array with shape [height, width, 3].
keypoints: a numpy array with shape [num_keypoints, 2].
color: color to draw the keypoints with. Default is red.
radius: keypoint radius. Default value is 2.
use_normalized_coordinates: if True (default), treat keypoint values as
relative to the image. Otherwise treat them as absolute.
"""
image_pil = Image.fromarray(np.uint8(image)).convert('RGB')
draw_keypoints_on_image(image_pil, keypoints, color, radius,
use_normalized_coordinates)
np.copyto(image, np.array(image_pil))
示例3: shuffle_lr
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import copyto [as 別名]
def shuffle_lr(parts, num_landmarks=68, pairs=None):
if num_landmarks == 68:
if pairs is None:
pairs = [[0, 16], [1, 15], [2, 14], [3, 13], [4, 12], [5, 11], [6, 10],
[7, 9], [17, 26], [18, 25], [19, 24], [20, 23], [21, 22], [36, 45],
[37, 44], [38, 43], [39, 42], [41, 46], [40, 47], [31, 35], [32, 34],
[50, 52], [49, 53], [48, 54], [61, 63], [60, 64], [67, 65], [59, 55], [58, 56]]
elif num_landmarks == 98:
if pairs is None:
pairs = [[0, 32], [1,31], [2, 30], [3, 29], [4, 28], [5, 27], [6, 26], [7, 25], [8, 24], [9, 23], [10, 22], [11, 21], [12, 20], [13, 19], [14, 18], [15, 17], [33, 46], [34, 45], [35, 44], [36, 43], [37, 42], [38, 50], [39, 49], [40, 48], [41, 47], [60, 72], [61, 71], [62, 70], [63, 69], [64, 68], [65, 75], [66, 74], [67, 73], [96, 97], [55, 59], [56, 58], [76, 82], [77, 81], [78, 80], [88, 92], [89, 91], [95, 93], [87, 83], [86, 84]]
elif num_landmarks == 19:
if pairs is None:
pairs = [[0, 5], [1, 4], [2, 3], [6, 11], [7, 10], [8, 9], [12, 14], [15, 17]]
elif num_landmarks == 29:
if pairs is None:
pairs = [[0, 1], [4, 6], [5, 7], [2, 3], [8, 9], [12, 14], [16, 17], [13, 15], [10, 11], [18, 19], [22, 23]]
for matched_p in pairs:
idx1, idx2 = matched_p[0], matched_p[1]
tmp = np.copy(parts[idx1])
np.copyto(parts[idx1], parts[idx2])
np.copyto(parts[idx2], tmp)
return parts
示例4: prediction
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import copyto [as 別名]
def prediction(self, img):
img_resized = _preprocess_trt(img, self.input_shape)
np.copyto(self.host_inputs[0], img_resized.ravel())
cuda.memcpy_htod_async(
self.cuda_inputs[0], self.host_inputs[0], self.stream)
self.context.execute_async(
batch_size=1,
bindings=self.bindings,
stream_handle=self.stream.handle)
cuda.memcpy_dtoh_async(
self.host_outputs[1], self.cuda_outputs[1], self.stream)
cuda.memcpy_dtoh_async(
self.host_outputs[0], self.cuda_outputs[0], self.stream)
self.stream.synchronize()
output = self.host_outputs[0]
return output
示例5: draw_bounding_boxes_on_image_array
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import copyto [as 別名]
def draw_bounding_boxes_on_image_array(image,
boxes,
color='red',
thickness=4,
display_str_list_list=()):
"""Draws bounding boxes on image (numpy array).
Args:
image: a numpy array object.
boxes: a 2 dimensional numpy array of [N, 4]: (ymin, xmin, ymax, xmax).
The coordinates are in normalized format between [0, 1].
color: color to draw bounding box. Default is red.
thickness: line thickness. Default value is 4.
display_str_list_list: list of list of strings.
a list of strings for each bounding box.
The reason to pass a list of strings for a
bounding box is that it might contain
multiple labels.
Raises:
ValueError: if boxes is not a [N, 4] array
"""
image_pil = Image.fromarray(image)
draw_bounding_boxes_on_image(image_pil, boxes, color, thickness, display_str_list_list)
np.copyto(image, np.array(image_pil))
示例6: _write_to_command_buffer
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import copyto [as 別名]
def _write_to_command_buffer(self, to_write):
"""Write input to the command buffer.
Reformat input string to the correct format.
Args:
to_write (:class:`str`): The string to write to the command buffer.
"""
np.copyto(self._command_bool_ptr, True)
to_write += '0' # The gason JSON parser in holodeck expects a 0 at the end of the file.
input_bytes = str.encode(to_write)
if len(input_bytes) > self.max_buffer:
raise HolodeckException("Error: Command length exceeds buffer size")
for index, val in enumerate(input_bytes):
self._command_buffer_ptr[index] = val
示例7: teleport
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import copyto [as 別名]
def teleport(self, location=None, rotation=None):
"""Teleports the agent to a specific location, with a specific rotation.
Args:
location (np.ndarray, optional): An array with three elements specifying the target
world coordinates ``[x, y, z]`` in meters (see :ref:`coordinate-system`).
If ``None`` (default), keeps the current location.
rotation (np.ndarray, optional): An array with three elements specifying roll, pitch,
and yaw in degrees of the agent.
If ``None`` (default), keeps the current rotation.
"""
val = 0
if location is not None:
val += 1
np.copyto(self._teleport_buffer[0:3], location)
if rotation is not None:
np.copyto(self._teleport_buffer[3:6], rotation)
val += 2
self._teleport_type_buffer[0] = val
示例8: set_physics_state
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import copyto [as 別名]
def set_physics_state(self, location, rotation, velocity, angular_velocity):
"""Sets the location, rotation, velocity and angular velocity of an agent.
Args:
location (np.ndarray): New location (``[x, y, z]`` (see :ref:`coordinate-system`))
rotation (np.ndarray): New rotation (``[roll, pitch, yaw]``, see (see :ref:`rotations`))
velocity (np.ndarray): New velocity (``[x, y, z]`` (see :ref:`coordinate-system`))
angular_velocity (np.ndarray): New angular velocity (``[x, y, z]`` in **degrees**
(see :ref:`coordinate-system`))
"""
np.copyto(self._teleport_buffer[0:3], location)
np.copyto(self._teleport_buffer[3:6], rotation)
np.copyto(self._teleport_buffer[6:9], velocity)
np.copyto(self._teleport_buffer[9:12], angular_velocity)
self._teleport_type_buffer[0] = 15
示例9: paint_drape
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import copyto [as 別名]
def paint_drape(self, character, curtain):
"""Fill a masked area on the "canvas" of this renderer.
Places `character` into all non-False locations in the binary mask
`curtain`. This is the usual means by which a `Drape` is added to an
observation.
Args:
character: a string of length 1 containing an ASCII character.
curtain: a 2-D `np.bool_` array whose dimensions are the same as this
renderer's.
Raises:
ValueError: `character` is not a valid character for this game, according
to the `Engine`'s configuration.
"""
if character not in self._layers:
raise ValueError('character {} does not seem to be a valid character for '
'this game'.format(str(character)))
self._board[curtain] = ord(character)
np.copyto(self._layers[character], curtain)
示例10: draw_bounding_box_on_image_array
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import copyto [as 別名]
def draw_bounding_box_on_image_array(image,
ymin,
xmin,
ymax,
xmax,
color='red',
thickness=4,
display_str_list=(),
use_normalized_coordinates=True):
"""Adds a bounding box to an image (numpy array).
Args:
image: a numpy array with shape [height, width, 3].
ymin: ymin of bounding box in normalized coordinates (same below).
xmin: xmin of bounding box.
ymax: ymax of bounding box.
xmax: xmax of bounding box.
color: color to draw bounding box. Default is red.
thickness: line thickness. Default value is 4.
display_str_list: list of strings to display in box
(each to be shown on its own line).
use_normalized_coordinates: If True (default), treat coordinates
ymin, xmin, ymax, xmax as relative to the image. Otherwise treat
coordinates as absolute.
"""
image_pil = Image.fromarray(np.uint8(image)).convert('RGB')
draw_bounding_box_on_image(image_pil, ymin, xmin, ymax, xmax, color,
thickness, display_str_list,
use_normalized_coordinates)
np.copyto(image, np.array(image_pil))
示例11: draw_bounding_boxes_on_image_array
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import copyto [as 別名]
def draw_bounding_boxes_on_image_array(image,
boxes,
color='red',
thickness=4,
display_str_list_list=()):
"""Draws bounding boxes on image (numpy array).
Args:
image: a numpy array object.
boxes: a 2 dimensional numpy array of [N, 4]: (ymin, xmin, ymax, xmax).
The coordinates are in normalized format between [0, 1].
color: color to draw bounding box. Default is red.
thickness: line thickness. Default value is 4.
display_str_list_list: list of list of strings.
a list of strings for each bounding box.
The reason to pass a list of strings for a
bounding box is that it might contain
multiple labels.
Raises:
ValueError: if boxes is not a [N, 4] array
"""
image_pil = Image.fromarray(image)
draw_bounding_boxes_on_image(image_pil, boxes, color, thickness,
display_str_list_list)
np.copyto(image, np.array(image_pil))
示例12: draw_mask_on_image_array
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import copyto [as 別名]
def draw_mask_on_image_array(image, mask, color='red', alpha=0.7):
"""Draws mask on an image.
Args:
image: uint8 numpy array with shape (img_height, img_height, 3)
mask: a float numpy array of shape (img_height, img_height) with
values between 0 and 1
color: color to draw the keypoints with. Default is red.
alpha: transparency value between 0 and 1. (default: 0.7)
Raises:
ValueError: On incorrect data type for image or masks.
"""
if image.dtype != np.uint8:
raise ValueError('`image` not of type np.uint8')
if mask.dtype != np.float32:
raise ValueError('`mask` not of type np.float32')
if np.any(np.logical_or(mask > 1.0, mask < 0.0)):
raise ValueError('`mask` elements should be in [0, 1]')
rgb = ImageColor.getrgb(color)
pil_image = Image.fromarray(image)
solid_color = np.expand_dims(
np.ones_like(mask), axis=2) * np.reshape(list(rgb), [1, 1, 3])
pil_solid_color = Image.fromarray(np.uint8(solid_color)).convert('RGBA')
pil_mask = Image.fromarray(np.uint8(255.0*alpha*mask)).convert('L')
pil_image = Image.composite(pil_solid_color, pil_image, pil_mask)
np.copyto(image, np.array(pil_image.convert('RGB')))
示例13: _subproc_worker
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import copyto [as 別名]
def _subproc_worker(pipe, parent_pipe, env_fn_wrapper, obs_bufs, obs_shapes, obs_dtypes, keys):
"""
Control a single environment instance using IPC and
shared memory.
"""
def _write_obs(maybe_dict_obs):
flatdict = obs_to_dict(maybe_dict_obs)
for k in keys:
dst = obs_bufs[k].get_obj()
dst_np = np.frombuffer(dst, dtype=obs_dtypes[k]).reshape(obs_shapes[k]) # pylint: disable=W0212
np.copyto(dst_np, flatdict[k])
env = env_fn_wrapper.x()
parent_pipe.close()
try:
while True:
cmd, data = pipe.recv()
if cmd == 'reset':
pipe.send(_write_obs(env.reset()))
elif cmd == 'step':
obs, reward, done, info = env.step(data)
if done:
obs = env.reset()
pipe.send((_write_obs(obs), reward, done, info))
elif cmd == 'render':
pipe.send(env.render(mode='rgb_array'))
elif cmd == 'close':
pipe.send(None)
break
else:
raise RuntimeError('Got unrecognized cmd %s' % cmd)
except KeyboardInterrupt:
print('ShmemVecEnv worker: got KeyboardInterrupt')
finally:
env.close()
示例14: load_normalized_test_case
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import copyto [as 別名]
def load_normalized_test_case(data_path, pagelocked_buffer, mean, case_num=randint(0, 9)):
test_case_path = os.path.join(data_path, str(case_num) + ".pgm")
# Flatten the image into a 1D array, normalize, and copy to pagelocked memory.
img = np.array(Image.open(test_case_path)).ravel()
np.copyto(pagelocked_buffer, img - mean)
return case_num
示例15: load_normalized_test_case
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import copyto [as 別名]
def load_normalized_test_case(data_path, pagelocked_buffer, case_num=randint(0, 9)):
test_case_path = os.path.join(data_path, str(case_num) + ".pgm")
# Flatten the image into a 1D array, normalize, and copy to pagelocked memory.
img = np.array(Image.open(test_case_path)).ravel()
np.copyto(pagelocked_buffer, 1.0 - img / 255.0)
return case_num