python - 为什么在代码中找不到“example_size”?
问题描述
import numpy as np
def data_iter_random(data_indices, num_steps, batch_size):
example_size = len(data_indices)/num_steps
epoch_size = example_size/batch_size
example = [data_indices[i*num_steps:i*num_steps + num_steps]
for i in range(int(example_size))]
shuffle_example = np.random.shuffle(example)
print(shuffle_example)
data_iter_random(list(range(30)), 5, 2)
输出是None
谁能告诉我出了什么问题?
解决方案
问题是np.random.shuffle
就地修改了序列。从文档中:
通过改组其内容来就地修改序列。
只需打印example
:
import numpy as np
def data_iter_random(data_indices, num_steps, batch_size):
example_size = len(data_indices) / num_steps
epoch_size = example_size / batch_size
example = [data_indices[i * num_steps:i * num_steps + num_steps]
for i in range(int(example_size))]
np.random.shuffle(example)
print(example)
data_iter_random(list(range(30)), 5, 2)
输出
[[25, 26, 27, 28, 29], [5, 6, 7, 8, 9], [0, 1, 2, 3, 4], [20, 21, 22, 23, 24], [15, 16, 17, 18, 19], [10, 11, 12, 13, 14]]
推荐阅读
- javascript - 使用 Javascript 和 PHP 在两个设备之间传输变量
- php - 将如何包装 Wordpress 的 -dynamic_sidebar 输出的每个小部件?
- javascript - 如何从 AngularJS 调用 PHP 文件
- laravel - 在laravel中注册用户时如何将用户ID和角色ID保存在用户角色表中?
- ngrx - 如何在ngrx效果中操作数据并将其作为有效负载返回到操作?
- mysql - 如何避免基于数据库中陈旧数据的最终用户操作
- azure-sql-managed-instance - 如何在 Azure SQL 托管实例上查找数据库的最早还原点
- python - TeamCity - 根据先前调用脚本的返回值在构建步骤中设置参数
- python - 使用自定义索引重新分区 Dask Dataframe
- c++ - 将指针作为参数传递给函数