python中arange的使用方法_Python backend.arange方法代码示例

本文整理汇总了Python中keras.backend.arange方法的典型用法代码示例。如果您正苦于以下问题:Python backend.arange方法的具体用法?Python backend.arange怎么用?Python backend.arange使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在模块keras.backend的用法示例。

在下文中一共展示了backend.arange方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: call

​点赞 6

# 需要导入模块: from keras import backend [as 别名]

# 或者: from keras.backend import arange [as 别名]

def call(self, inputs, mask=None, **kwargs):

if isinstance(inputs, list):

query, key, value = inputs

else:

query = key = value = inputs

if isinstance(mask, list):

mask = mask[1]

feature_dim = K.shape(query)[-1]

e = K.batch_dot(query, key, axes=2) / K.sqrt(K.cast(feature_dim, dtype=K.floatx()))

e = K.exp(e - K.max(e, axis=-1, keepdims=True))

if self.history_only:

query_len, key_len = K.shape(query)[1], K.shape(key)[1]

indices = K.tile(K.expand_dims(K.arange(key_len), axis=0), [query_len, 1])

upper = K.expand_dims(K.arange(key_len), axis=-1)

e *= K.expand_dims(K.cast(indices <= upper, K.floatx()), axis=0)

if mask is not None:

e *= K.cast(K.expand_dims(mask, axis=-2), K.floatx())

a = e / (K.sum(e, axis=-1, keepdims=True) + K.epsilon())

v = K.batch_dot(a, value)

if self.return_attention:

return [v, a]

return v

开发者ID:yongzhuo,项目名称:Keras-TextClassification,代码行数:24,

示例2: positional_signal

​点赞 6

# 需要导入模块: from keras import backend [as 别名]

# 或者: from keras.backend import arange [as 别名]

def positional_signal(hidden_size: int, length: int,

min_timescale: float = 1.0, max_timescale: float = 1e4):

"""

Helper function, constructing basic positional encoding.

The code is partially based on implementation from Tensor2Tensor library

https://github.com/tensorflow/tensor2tensor/blob/master/tensor2tensor/layers/common_attention.py

"""

if hidden_size % 2 != 0:

raise ValueError(

f"The hidden dimension of the model must be divisible by 2."

f"Currently it is {hidden_size}")

position = K.arange(0, length, dtype=K.floatx())

num_timescales = hidden_size // 2

log_timescale_increment = K.constant(

(np.log(float(max_timescale) / float(min_timescale)) /

(num_timescales - 1)),

dtype=K.floatx())

inv_timescales = (

min_timescale *

K.exp(K.arange(num_timescales, dtype=K.floatx()) *

-log_timescale_increment))

scaled_time = K.expand_dims(position, 1) * K.expand_dims(inv_timescales, 0)

signal = K.concatenate([K.sin(scaled_time), K.cos(scaled_time)], axis=1)

return K.expand_dims(signal, axis=0)

开发者ID:kpot,项目名称:keras-transformer,代码行数:27,

示例3: test_repeat_elements

​点赞 6

# 需要导入模块: from keras import backend [as 别名]

# 或者: from keras.backend import arange [as 别名]

def test_repeat_elements(self):

reps = 3

for ndims in [1, 2, 3]:

shape = np.arange(2, 2 + ndims)

arr = np.arange(np.prod(shape)).reshape(shape)

for rep_axis in range(ndims):

np_rep = np.repeat(arr, reps, axis=rep_axis)

check_single_tensor_operation('repeat_elements', arr, BACKENDS,

rep=reps, axis=rep_axis,

assert_value_with_ref=np_rep)

if K.backend() != 'cntk':

shape = list(shape)

shape[rep_axis] = None

x = K.placeholder(shape=shape)

y = K.repeat_elements(x, reps, axis=rep_axis)

assert y._keras_shape == tuple(shape)

assert y._keras_shape == K.int_shape(y)

开发者ID:hello-sea,项目名称:DeepLearning_Wavelet-LSTM,代码行数:21,

示例4: test_tile

​点赞 6

# 需要导入模块: from keras import backend [as 别名]

# 或者: from keras.backend import arange [as 别名]

def test_tile(self):

shape = (3, 4)

arr = np.arange(np.prod(shape)).reshape(shape)

check_single_tensor_operation('tile', arr, BACKENDS, n=[2, 1])

check_single_tensor_operation('tile', (2, 5), BACKENDS, n=[5, 2])

# test theano shape inference when

# input shape has None entries

if K.backend() == 'theano':

x = K.placeholder(shape=(None, 4))

n = 2

y = K.tile(x, n)

assert y._keras_shape == (None, 8)

n = (4, 3)

y = K.tile(x, n)

assert y._keras_shape == (None, 12)

开发者ID:hello-sea,项目名称:DeepLearning_Wavelet-LSTM,代码行数:18,

示例5: test_gather

​点赞 6

# 需要导入模块: from keras import backend [as 别名]

# 或者: from keras.backend import arange [as 别名]

def test_gather(self):

shape = (10, 2, 3)

ref = np.arange(np.prod(shape)).reshape(shape)

inds = [1, 3, 7, 9]

z_list = [k.eval(k.gather(k.variable(ref), k.variable(inds, dtype='int32')))

for k in BACKENDS]

assert_list_pairwise(z_list)

assert_list_keras_shape(z_list)

# test theano shape inference when

# input shape has None entries

if K.backend() == 'theano':

x = K.placeholder(shape=(None, 3, 4))

indices = K.placeholder(shape=(5, 6), dtype='int32')

y = K.gather(x, indices)

assert y._keras_shape == (5, 6, 3, 4)

开发者ID:hello-sea,项目名称:DeepLearning_Wavelet-LSTM,代码行数:19,

示例6: test_map

​点赞 6

# 需要导入模块: from keras import backend [as 别名]

# 或者: from keras.backend import arange [as 别名]

def test_map(self):

x = np.random.rand(10, 3).astype(np.float32)

vx = K.variable(x)

kx = K.eval(K.map_fn(K.sum, vx))

# make sure we can also walk the indexes in tensorflow which we

# can't without specifying dtype

kx2 = K.eval(K.map_fn(

lambda i: K.sum(vx[i]),

K.arange(10),

dtype=K.floatx()

))

assert (10,) == kx.shape

assert (10,) == kx2.shape

assert_allclose(x.sum(axis=1), kx, atol=1e-05)

assert_allclose(kx, kx2, atol=1e-05)

开发者ID:hello-sea,项目名称:DeepLearning_Wavelet-LSTM,代码行数:18,

示例7: call

​点赞 6

# 需要导入模块: from keras import backend [as 别名]

# 或者: from keras.backend import arange [as 别名]

def call(self, x):

if (self.size is None) or (self.mode == 'sum'):

self.size = int(x.shape[-1])

batch_size, seq_len = K.shape(x)[0], K.shape(x)[1]

position_j = 1. / K.pow(10000.,

2 * K.arange(self.size / 2, dtype='float32'

) / self.size)

position_j = K.expand_dims(position_j, 0)

# K.arange不支持变长,只好用这种方法生成

position_i = K.cumsum(K.ones_like(x[:, :, 0]), 1) - 1

position_i = K.expand_dims(position_i, 2)

position_ij = K.dot(position_i, position_j)

position_ij = K.concatenate(

[K.cos(position_ij), K.sin(position_ij)], 2)

if self.mode == 'sum':

return position_ij + x

elif self.mode == 'concat':

return K.concatenate([position_ij, x], 2)

开发者ID:stevewyl,项目名称:nlp_toolkit,代码行数:20,

注:本文中的keras.backend.arange方法示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值