本文整理汇总了Python中nengo_ocl.clraggedarray.CLRaggedArray.getitem_device方法的典型用法代码示例。如果您正苦于以下问题:Python CLRaggedArray.getitem_device方法的具体用法?Python CLRaggedArray.getitem_device怎么用?Python CLRaggedArray.getitem_device使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类nengo_ocl.clraggedarray.CLRaggedArray
的用法示例。
在下文中一共展示了CLRaggedArray.getitem_device方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: Simulator
# 需要导入模块: from nengo_ocl.clraggedarray import CLRaggedArray [as 别名]
# 或者: from nengo_ocl.clraggedarray.CLRaggedArray import getitem_device [as 别名]
#.........这里部分代码省略.........
def _plan_WhiteSignal(self, ops):
Y = self.all_data[[self.sidx[op.output] for op in ops]]
t = self.all_data[[self.sidx[self.model.step] for _ in ops]]
dt = self.model.dt
signals = []
for op in ops:
assert op.input is None and op.output is not None
rng = op.process.get_rng(self.rng)
f = op.process.make_step((0,), op.output.shape, dt, rng)
signals.append(get_closures(f)['signal'])
signals = self.RaggedArray(signals, dtype=np.float32)
return [plan_presentinput(self.queue, Y, t, signals, dt)]
def _plan_PresentInput(self, ops):
ps = [op.process for op in ops]
Y = self.all_data[[self.sidx[op.output] for op in ops]]
t = self.all_data[[self.sidx[self.model.step] for _ in ops]]
inputs = self.RaggedArray([p.inputs.reshape(p.inputs.shape[0], -1)
for p in ps], dtype=np.float32)
pres_t = self.Array([p.presentation_time for p in ps])
dt = self.model.dt
return [plan_presentinput(self.queue, Y, t, inputs, dt, pres_t=pres_t)]
def _plan_Conv2d(self, ops):
plans = []
for op in ops:
p, f, b = op.process, op.process.filters, op.process.biases
assert f.ndim in [4, 6]
conv = (f.ndim == 4)
kernel_shape = f.shape[-2:]
X = self.all_data.getitem_device(self.sidx[op.input])
Y = self.all_data.getitem_device(self.sidx[op.output])
ftrans = np.asarray(np.transpose(
f, (0, 1, 2, 3) if conv else (0, 3, 4, 5, 1, 2)), order='C')
F = self.Array(ftrans.ravel())
B = self.Array((np.zeros(p.shape_out) + b).ravel())
plans.append(plan_conv2d(
self.queue, X, Y, F, B, p.shape_in, p.shape_out,
kernel_shape, conv, p.padding, p.strides))
return plans
def _plan_Pool2d(self, ops):
plans = []
for op in ops:
assert op.process.kind == 'avg'
p = op.process
X = self.all_data.getitem_device(self.sidx[op.input])
Y = self.all_data.getitem_device(self.sidx[op.output])
shape = p.shape_out + p.shape_in[1:]
plans.append(plan_pool2d(
self.queue, X, Y, shape, p.pool_size, p.strides))
return plans
def plan_SimBCM(self, ops):
pre = self.all_data[[self.sidx[op.pre_filtered] for op in ops]]
post = self.all_data[[self.sidx[op.post_filtered] for op in ops]]
theta = self.all_data[[self.sidx[op.theta] for op in ops]]
delta = self.all_data[[self.sidx[op.delta] for op in ops]]
alpha = self.Array([op.learning_rate * self.model.dt for op in ops])
return [plan_bcm(self.queue, pre, post, theta, delta, alpha)]
示例2: Simulator
# 需要导入模块: from nengo_ocl.clraggedarray import CLRaggedArray [as 别名]
# 或者: from nengo_ocl.clraggedarray.CLRaggedArray import getitem_device [as 别名]
#.........这里部分代码省略.........
assert op.input is None and op.output is not None
f = op.process.make_step(0, op.output.size, dt, self.rng)
signals.append(get_closures(f)['signal'])
signals = self.RaggedArray(signals, dtype=np.float32)
return [plan_presentinput(self.queue, Y, t, signals, dt)]
def _plan_PresentInput(self, ops):
ps = [op.process for op in ops]
Y = self.all_data[[self.sidx[op.output] for op in ops]]
t = self.all_data[[self.sidx[self._step] for _ in ops]]
inputs = self.RaggedArray([p.inputs.reshape(p.inputs.shape[0], -1)
for p in ps], dtype=np.float32)
pres_t = self.Array([p.presentation_time for p in ps])
dt = self.model.dt
return [plan_presentinput(self.queue, Y, t, inputs, dt, pres_t=pres_t)]
def _plan_PresentInput_3D(self, ops):
ps = [op.process for op in ops]
Y = self.all_data[[self.sidx[op.output] for op in ops]]
t = self.all_data[[self.sidx[self._step] for _ in ops]]
inputs = self.RaggedArray([p.inputs.reshape(p.inputs.shape[0], -1)
for p in ps], dtype=np.float32)
pres_t = self.Array([p.presentation_time for p in ps])
dt = self.model.dt
return [plan_presentinput_3D(self.queue, Y, t, inputs, dt, pres_t=pres_t)]
def _plan_Conv2(self, ops):
plans = []
for op in ops:
p, f, b = op.process, op.process.filters, op.process.biases
assert f.ndim in [4, 6]
conv = (f.ndim == 4)
X = self.all_data.getitem_device(self.sidx[op.input])
Y = self.all_data.getitem_device(self.sidx[op.output])
f = np.array(np.transpose(
f, (1, 2, 3, 0) if conv else (3, 4, 5, 0, 1, 2)), order='C')
F = self.Array(f.ravel())
B = self.Array((np.zeros(p.shape_out) + b).ravel())
shape = list(p.shape_out) + list(p.filters.shape[-3:])
plans.append(plan_conv2(
self.queue, X, Y, F, B, shape, conv,
tag="shape=%s, conv=%s" % (shape, conv)))
return plans
def _plan_Conv3(self, ops):
plans = []
for op in ops:
p, f, b = op.process, op.process.filters, op.process.biases
assert f.ndim in [5]
conv = (f.ndim == 5)
X = self.all_data.getitem_device(self.sidx[op.input])
Y = self.all_data.getitem_device(self.sidx[op.output])
f = np.array(np.transpose(
f, (1, 2, 3, 4, 0) if conv else (3, 4, 5, 0, 1, 2)), order='C')
F = self.Array(f.ravel())
B = self.Array((np.zeros(p.shape_out) + b).ravel())
shape = list(p.shape_out) + list(p.filters.shape[-4:])
plans.append(plan_conv3(
self.queue, X, Y, F, B, shape, conv,
tag="shape=%s, conv=%s" % (shape, conv)))
return plans
def _plan_Pool2(self, ops):
示例3: Simulator
# 需要导入模块: from nengo_ocl.clraggedarray import CLRaggedArray [as 别名]
# 或者: from nengo_ocl.clraggedarray.CLRaggedArray import getitem_device [as 别名]
#.........这里部分代码省略.........
def _plan_WhiteSignal(self, ops):
Y = self.all_data[[self.sidx[op.output] for op in ops]]
t = self.all_data[[self.sidx[self.model.step] for _ in ops]]
dt = self.model.dt
signals = []
for op in ops:
assert op.input is None and op.output is not None
rng = op.process.get_rng(self.rng)
f = op.process.make_step((0,), op.output.shape, dt, rng)
signals.append(get_closures(f)['signal'])
signals = self.RaggedArray(signals, dtype=np.float32)
return [plan_presentinput(self.queue, Y, t, signals, dt)]
def _plan_PresentInput(self, ops):
ps = [op.process for op in ops]
Y = self.all_data[[self.sidx[op.output] for op in ops]]
t = self.all_data[[self.sidx[self.model.step] for _ in ops]]
inputs = self.RaggedArray([p.inputs.reshape(p.inputs.shape[0], -1)
for p in ps], dtype=np.float32)
pres_t = self.Array([p.presentation_time for p in ps])
dt = self.model.dt
return [plan_presentinput(self.queue, Y, t, inputs, dt, pres_t=pres_t)]
def _plan_Conv2d(self, ops):
plans = []
for op in ops:
p, f, b = op.process, op.process.filters, op.process.biases
assert f.ndim in [4, 6]
conv = (f.ndim == 4)
kernel_shape = f.shape[-2:]
X = self.all_data.getitem_device(self.sidx[op.input])
Y = self.all_data.getitem_device(self.sidx[op.output])
ftrans = np.asarray(np.transpose(
f, (0, 1, 2, 3) if conv else (0, 3, 4, 5, 1, 2)), order='C')
F = self.Array(ftrans.ravel())
B = self.Array((np.zeros(p.shape_out) + b).ravel())
plans.append(plan_conv2d(
self.queue, X, Y, F, B, p.shape_in, p.shape_out,
kernel_shape, conv, p.padding, p.strides))
return plans
def _plan_Pool2d(self, ops):
plans = []
for op in ops:
assert op.process.kind == 'avg'
p = op.process
X = self.all_data.getitem_device(self.sidx[op.input])
Y = self.all_data.getitem_device(self.sidx[op.output])
shape = p.shape_out + p.shape_in[1:]
plans.append(plan_pool2d(
self.queue, X, Y, shape, p.pool_size, p.strides))
return plans
def plan_SimBCM(self, ops):
pre = self.all_data[[self.sidx[op.pre_filtered] for op in ops]]
post = self.all_data[[self.sidx[op.post_filtered] for op in ops]]
theta = self.all_data[[self.sidx[op.theta] for op in ops]]
delta = self.all_data[[self.sidx[op.delta] for op in ops]]
alpha = self.Array([op.learning_rate * self.model.dt for op in ops])
return [plan_bcm(self.queue, pre, post, theta, delta, alpha)]