本文整理汇总了Python中idtxl.data.Data.permute_replications方法的典型用法代码示例。如果您正苦于以下问题:Python Data.permute_replications方法的具体用法?Python Data.permute_replications怎么用?Python Data.permute_replications使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类idtxl.data.Data
的用法示例。
在下文中一共展示了Data.permute_replications方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_permute_replications
# 需要导入模块: from idtxl.data import Data [as 别名]
# 或者: from idtxl.data.Data import permute_replications [as 别名]
def test_permute_replications():
"""Test surrogate creation by permuting replications."""
n = 20
data = Data(np.vstack((np.zeros(n),
np.ones(n) * 1,
np.ones(n) * 2,
np.ones(n) * 3)).astype(int),
'rs',
normalise=False)
current_value = (0, n)
l = [(0, 1), (0, 3), (0, 7)]
[perm, perm_idx] = data.permute_replications(current_value=current_value,
idx_list=l)
assert (np.all(perm[:, 0] == perm_idx)), 'Permutation did not work.'
# Assert that samples have been swapped within the permutation range for
# the first replication.
rng = 3
current_value = (0, 3)
l = [(0, 0), (0, 1), (0, 2)]
#data = Data(np.arange(n), 's', normalise=False)
data = Data(np.vstack((np.arange(n),
np.arange(n))).astype(int),
'rs',
normalise=False)
[perm, perm_idx] = data.permute_samples(current_value=current_value,
idx_list=l,
perm_range=rng)
samples = np.arange(rng)
i = 0
n_per_repl = int(data.n_realisations(current_value) / data.n_replications)
for p in range(n_per_repl // rng):
assert (np.unique(perm[i:i + rng, 0]) == samples).all(), ('The '
'permutation range was not respected.')
samples += rng
i += rng
rem = n_per_repl % rng
if rem > 0:
assert (np.unique(perm[i:i + rem, 0]) == samples[0:rem]).all(), ('The '
'remainder did not contain the same realisations.')
# Test assertions that perm_range is not too low or too high.
with pytest.raises(AssertionError):
data.permute_samples(current_value=current_value,
idx_list=l,
perm_range=1)
with pytest.raises(AssertionError):
data.permute_samples(current_value=current_value,
idx_list=l,
perm_range=np.inf)
# Test ValueError if a string other than 'max' is given for perm_range.
with pytest.raises(ValueError):
data.permute_samples(current_value=current_value,
idx_list=l,
perm_range='foo')
示例2: test_permute_replications
# 需要导入模块: from idtxl.data import Data [as 别名]
# 或者: from idtxl.data.Data import permute_replications [as 别名]
def test_permute_replications():
"""Test surrogate creation by permuting replications."""
n = 20
data = Data(np.vstack((np.zeros(n),
np.ones(n) * 1,
np.ones(n) * 2,
np.ones(n) * 3)).astype(int),
'rs',
normalise=False)
current_value = (0, n - 1)
l = [(0, 1), (0, 3), (0, 7)]
[perm, perm_idx] = data.permute_replications(current_value=current_value,
idx_list=l)
assert (np.all(perm[:, 0] == perm_idx)), 'Permutation did not work.'
# Assert that samples have been swapped within the permutation range for
# the first replication.
rng = 3
current_value = (0, 3)
l = [(0, 0), (0, 1), (0, 2)]
# data = Data(np.arange(n), 's', normalise=False)
data = Data(np.vstack((np.arange(n),
np.arange(n))).astype(int),
'rs',
normalise=False)
perm_settings = {
'perm_type': 'local',
'perm_range': rng
}
[perm, perm_idx] = data.permute_samples(current_value=current_value,
idx_list=l,
perm_settings=perm_settings)
samples = np.arange(rng)
i = 0
n_per_repl = int(data.n_realisations(current_value) / data.n_replications)
for p in range(n_per_repl // rng):
assert (np.unique(perm[i:i + rng, 0]) == samples).all(), (
'The permutation range was not respected.')
samples += rng
i += rng
rem = n_per_repl % rng
if rem > 0:
assert (np.unique(perm[i:i + rem, 0]) == samples[0:rem]).all(), (
'The remainder did not contain the same realisations.')