Python中文
首页
教程
问答
标签
搜索
登录
注册
发电机是否具有时效性?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我知道python中的生成器至少是memeory efficent,因为它一次只处理一个项目,但这如何使它具有时间效率(如果是的话)</p> <p>具体来说,假设我使用generator函数为机器学习任务一次加载一个数据。在一天结束时,我仍然需要遍历所有数据元素,并一次加载一个(使用生成器函数)。是的,这是memeory Efficient,但是加载整个数据集要比一次加载所有数据集花费更多的时间。我的直觉正确吗</p> <pre><code>#sample_code def my_gen(): for i in range(1000): features = np.random.randn(32,32,3) labels = np.random.randint(0,1, size = 1) yield features, labels </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>不。生成器本质上比类似的备选方案(如列表理解)慢</p> <p><strong>但是</strong></p> <p>如果您希望通过使用生成器加载数据来减少内存,那么您可能不应该担心这种性能差异。更常见的情况是,性能瓶颈出现在磁盘I/O和/或系统调用上。使用生成器的惩罚对总体性能的影响可以忽略不计</p> <p>所以最后的答案是:继续使用发电机。它的性能应该是最不需要担心的</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
无法使用Django/mongoengine连接到MongoDB(身份验证失败)
9 回答
无法使用Django\u mssql\u后端迁移到外部hos
10 回答
无法使用Django&Python3.4连接到MySql
6 回答
无法使用Django+nginx上载媒体文件
5 回答
无法使用Django1.6导入名称模式
9 回答
无法使用Django1.7和mongodb登录管理站点
7 回答
无法使用Djangoadmin创建项目,进程使用了错误的路径,因为我事先安装了错误的Python
2 回答
无法使用Djangockedi验证CBV中的字段
2 回答
无法使用Djangocketditor上载图像(错误400)
5 回答
无法使用Djangocron进行函数调用
5 回答
无法使用Djangofiler djang上载文件
10 回答
无法使用Djangokronos
6 回答
无法使用Djangomssql provid
10 回答
无法使用Djangomssql连接到带有Django 1.11的MS SQL Server 2016
4 回答
无法使用Djangomssq迁移Django数据库
7 回答
无法使用Djangonox创建用户
2 回答
无法使用Djangopyodb从Django查询SQL Server
4 回答
无法使用Djangopython3ldap连接到ldap
8 回答
无法使用Djangoredis连接到redis
7 回答
无法使用Django中的FK创建新表
3 回答