本文整理汇总了Python中cupy.arange方法的典型用法代码示例。如果您正苦于以下问题:Python cupy.arange方法的具体用法?Python cupy.arange怎么用?Python cupy.arange使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类cupy
的用法示例。
在下文中一共展示了cupy.arange方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _non_maximum_suppression_gpu
# 需要导入模块: import cupy [as 别名]
# 或者: from cupy import arange [as 别名]
def _non_maximum_suppression_gpu(bbox, thresh, score=None, limit=None):
if len(bbox) == 0:
return cp.zeros((0,), dtype=np.int32)
n_bbox = bbox.shape[0]
if score is not None:
order = score.argsort()[::-1].astype(np.int32)
else:
order = cp.arange(n_bbox, dtype=np.int32)
sorted_bbox = bbox[order, :]
selec, n_selec = _call_nms_kernel(
sorted_bbox, thresh)
selec = selec[:n_selec]
selec = order[selec]
if limit is not None:
selec = selec[:limit]
return selec
示例2: test_cupy_to_chainerx_delete_cupy_first
# 需要导入模块: import cupy [as 别名]
# 或者: from cupy import arange [as 别名]
def test_cupy_to_chainerx_delete_cupy_first():
dtype = numpy.float32
a_cupy = cupy.arange(6, dtype=dtype).reshape((2, 3))
a_chx = _fromrawpointer(
a_cupy.data.mem.ptr,
a_cupy.shape,
a_cupy.dtype,
a_cupy.strides,
'cuda:0',
0,
a_cupy)
del a_cupy
a_chx += 1
chainerx.testing.assert_array_equal_ex(
a_chx, numpy.array([[1, 2, 3], [4, 5, 6]], dtype))
示例3: test_cupy_to_chainerx_delete_chainerx_first
# 需要导入模块: import cupy [as 别名]
# 或者: from cupy import arange [as 别名]
def test_cupy_to_chainerx_delete_chainerx_first():
dtype = numpy.float32
a_cupy = cupy.arange(6, dtype=dtype).reshape((2, 3))
a_chx = _fromrawpointer(
a_cupy.data.mem.ptr,
a_cupy.shape,
a_cupy.dtype,
a_cupy.strides,
'cuda:0',
0,
a_cupy)
del a_chx
a_cupy += 1
chainerx.testing.assert_array_equal_ex(
a_cupy.get(), numpy.array([[1, 2, 3], [4, 5, 6]], dtype))
示例4: test_chainerx_to_cupy_delete_cupy_first
# 需要导入模块: import cupy [as 别名]
# 或者: from cupy import arange [as 别名]
def test_chainerx_to_cupy_delete_cupy_first():
dtype = 'float32'
a_chx = chainerx.arange(6, dtype=dtype, device='cuda:0').reshape((2, 3))
a_cupy = cupy.ndarray(
a_chx.shape,
cupy.dtype(a_chx.dtype.name),
cupy.cuda.MemoryPointer(cupy.cuda.UnownedMemory(
a_chx.data_ptr + a_chx.offset,
a_chx.data_size,
a_chx,
0), 0),
strides=a_chx.strides,
)
del a_cupy
a_chx += 1
chainerx.testing.assert_array_equal_ex(
a_chx, numpy.array([[1, 2, 3], [4, 5, 6]], dtype))
示例5: test_chainerx_to_cupy_delete_chainerx_first
# 需要导入模块: import cupy [as 别名]
# 或者: from cupy import arange [as 别名]
def test_chainerx_to_cupy_delete_chainerx_first():
dtype = 'float32'
a_chx = chainerx.arange(6, dtype=dtype, device='cuda:0').reshape((2, 3))
a_cupy = cupy.ndarray(
a_chx.shape,
cupy.dtype(a_chx.dtype.name),
cupy.cuda.MemoryPointer(cupy.cuda.UnownedMemory(
a_chx.data_ptr + a_chx.offset,
a_chx.data_size,
a_chx,
0), 0),
strides=a_chx.strides,
)
del a_chx
a_cupy += 1
chainerx.testing.assert_array_equal_ex(
a_cupy.get(), numpy.array([[1, 2, 3], [4, 5, 6]], dtype))
示例6: test_chainerx_to_cupy_nondefault_device
# 需要导入模块: import cupy [as 别名]
# 或者: from cupy import arange [as 别名]
def test_chainerx_to_cupy_nondefault_device():
dtype = 'float32'
a_chx = chainerx.arange(6, dtype=dtype, device='cuda:1').reshape((2, 3))
a_cupy = cupy.ndarray(
a_chx.shape,
cupy.dtype(a_chx.dtype.name),
cupy.cuda.MemoryPointer(cupy.cuda.UnownedMemory(
a_chx.data_ptr + a_chx.offset,
a_chx.data_size,
a_chx,
-1), 0),
strides=a_chx.strides,
)
assert a_cupy.device.id == 1
chainerx.testing.assert_array_equal_ex(a_chx, a_cupy.get())
示例7: _non_maximum_suppression_gpu
# 需要导入模块: import cupy [as 别名]
# 或者: from cupy import arange [as 别名]
def _non_maximum_suppression_gpu(bbox, thresh, score=None, limit=None):
if len(bbox) == 0:
return cp.zeros((0,), dtype=np.int32)
n_bbox = bbox.shape[0]
if score is not None:
order = score.argsort()[::-1].astype(np.int32)
else:
order = cp.arange(n_bbox, dtype=np.int32)
sorted_bbox = bbox[order, :]
selec, n_selec = _call_nms_kernel(
sorted_bbox, thresh)
selec = selec[:n_selec]
selec = order[selec]
if limit is not None:
selec = selec[:limit]
return cp.asnumpy(selec)
示例8: fit_custom
# 需要导入模块: import cupy [as 别名]
# 或者: from cupy import arange [as 别名]
def fit_custom(X, n_clusters, max_iter):
assert X.ndim == 2
n_samples = len(X)
pred = cupy.zeros(n_samples)
initial_indexes = cupy.random.choice(n_samples, n_clusters, replace=False)
centers = X[initial_indexes]
for _ in range(max_iter):
distances = var_kernel(X[:, None, 0], X[:, None, 1],
centers[None, :, 1], centers[None, :, 0])
new_pred = cupy.argmin(distances, axis=1)
if cupy.all(new_pred == pred):
break
pred = new_pred
i = cupy.arange(n_clusters)
mask = pred == i[:, None]
sums = sum_kernel(X, mask[:, :, None], axis=1)
counts = count_kernel(mask, axis=1).reshape((n_clusters, 1))
centers = sums / counts
return centers, pred
示例9: test_ctxGetCurrent_thread
# 需要导入模块: import cupy [as 别名]
# 或者: from cupy import arange [as 别名]
def test_ctxGetCurrent_thread(self):
# Make sure to create context in main thread.
cupy.arange(1)
def f(self):
self._result0 = driver.ctxGetCurrent()
cupy.arange(1)
self._result1 = driver.ctxGetCurrent()
self._result0 = None
self._result1 = None
t = threading.Thread(target=f, args=(self,))
t.daemon = True
t.start()
t.join()
# The returned context pointer must be NULL on sub thread
# without valid context.
self.assertEqual(0, self._result0)
# After the context is created, it should return the valid
# context pointer.
self.assertNotEqual(0, self._result1)
示例10: logspace
# 需要导入模块: import cupy [as 别名]
# 或者: from cupy import arange [as 别名]
def logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None):
"""Returns an array with evenly-spaced values on a log-scale.
Instead of specifying the step width like :func:`cupy.arange`, this
function requires the total number of elements specified.
Args:
start: Start of the interval.
stop: End of the interval.
num: Number of elements.
endpoint (bool): If ``True``, the stop value is included as the last
element. Otherwise, the stop value is omitted.
base (float): Base of the log space. The step sizes between the
elements on a log-scale are the same as ``base``.
dtype: Data type specifier. It is inferred from the start and stop
arguments by default.
Returns:
cupy.ndarray: The 1-D array of ranged values.
"""
y = linspace(start, stop, num=num, endpoint=endpoint)
if dtype is None:
return core.power(base, y)
return core.power(base, y).astype(dtype)
示例11: polyvander
# 需要导入模块: import cupy [as 别名]
# 或者: from cupy import arange [as 别名]
def polyvander(x, deg):
"""Computes the Vandermonde matrix of given degree.
Args:
x (cupy.ndarray): array of points
deg (int): degree of the resulting matrix.
Returns:
cupy.ndarray: The Vandermonde matrix
.. seealso:: :func:`numpy.polynomial.polynomial.polyvander`
"""
deg = cupy.polynomial.polyutils._deprecate_as_int(deg, 'deg')
if deg < 0:
raise ValueError('degree must be non-negative')
if x.ndim == 0:
x = x.ravel()
dtype = cupy.float64 if x.dtype.kind in 'biu' else x.dtype
out = x ** cupy.arange(deg + 1, dtype=dtype).reshape((-1,) + (1,) * x.ndim)
return cupy.moveaxis(out, 0, -1)
示例12: forward_gpu
# 需要导入模块: import cupy [as 别名]
# 或者: from cupy import arange [as 别名]
def forward_gpu(self, inputs):
a, b = inputs
c = cp.zeros_like(a, 'float32')
chainer.cuda.elementwise(
'int32 j, raw T a, raw T b',
'raw T c',
'''
float* ap = (float*)&a[j * 3];
float* bp = (float*)&b[j * 3];
float* cp = (float*)&c[j * 3];
cp[0] = ap[1] * bp[2] - ap[2] * bp[1];
cp[1] = ap[2] * bp[0] - ap[0] * bp[2];
cp[2] = ap[0] * bp[1] - ap[1] * bp[0];
''',
'function',
)(
cp.arange(a.size / 3).astype('int32'), a, b, c,
)
return c,
示例13: _voxelize_sub2
# 需要导入模块: import cupy [as 别名]
# 或者: from cupy import arange [as 别名]
def _voxelize_sub2(faces, size):
bs, nf = faces.shape[:2]
faces = cp.ascontiguousarray(faces)
voxels = cp.zeros((faces.shape[0], size, size, size), 'int32')
chainer.cuda.elementwise(
'int32 j, raw T faces, raw int32 bs, raw int32 nf, raw int32 vs',
'raw int32 voxels',
'''
int fn = j % nf;
int bn = j / nf;
float* face = &faces[(bn * nf + fn) * 9];
for (int k = 0; k < 3; k++) {
int yi = face[3 * k + 0];
int xi = face[3 * k + 1];
int zi = face[3 * k + 2];
if ((0 <= yi) && (yi < vs) && (0 <= xi) && (xi < vs) && (0 <= zi) && (zi < vs))
voxels[bn * vs * vs * vs + yi * vs * vs + xi * vs + zi] = 1;
}
''',
'function',
)(cp.arange(bs * nf).astype('int32'), faces, bs, nf, size, voxels)
return voxels
示例14: test_kernel
# 需要导入模块: import cupy [as 别名]
# 或者: from cupy import arange [as 别名]
def test_kernel(self):
import cupy as cp
x = cp.arange(6, dtype='f').reshape(2, 3)
y = cp.arange(3, dtype='f')
kernel = cp.ElementwiseKernel(
'float32 x, float32 y', 'float32 z',
'''if (x - 2 > y) {
z = x * y;
} else {
z = x + y;
}''',
'my_kernel')
r = kernel(x, y)
self.assertEqual((2, 3), r.shape)
示例15: test_cupy_to_chainerx_contiguous
# 需要导入模块: import cupy [as 别名]
# 或者: from cupy import arange [as 别名]
def test_cupy_to_chainerx_contiguous():
dtype = numpy.float32
a_cupy = cupy.arange(6, dtype=dtype).reshape((2, 3))
a_cupy_refcount_before = sys.getrefcount(a_cupy)
a_chx = _fromrawpointer(
a_cupy.data.mem.ptr,
a_cupy.shape,
a_cupy.dtype,
a_cupy.strides,
'cuda:0',
0,
a_cupy)
assert sys.getrefcount(a_cupy) == a_cupy_refcount_before + 1
assert a_chx.device.name == 'cuda:0'
chainerx.testing.assert_array_equal_ex(a_chx, a_cupy.get())
# Write to a_cupy
a_cupy[0, 1] = 8
chainerx.testing.assert_array_equal_ex(
a_chx, numpy.array([[0, 8, 2], [3, 4, 5]], dtype))
# Write to a_chx
a_chx += 1
chainerx.testing.assert_array_equal_ex(
a_cupy.get(), numpy.array([[1, 9, 3], [4, 5, 6]], dtype))