利用生成器做数据转换

# 如果要求一个序列的平方和(或者其他数学计算)的sum

a = [1,2,3]
sum_a = sum(x**2 for x in a)
# 直接使用生成器比下面更节约内存
s_a = sum([x*x for x in a])

# 其他的转换如求最大值
students = [
    {'name': 'zhangsan', 'id': '125605', 'score':48.5},
    {'name': 'lisi', 'id': '125612', 'score':75.2},
    {'name': 'wangwu', 'id': '125624', 'score':68.9},
    {'name': 'hansi', 'id': '125605', 'score':54.5},
    {'name': 'wangsi', 'id': '125612', 'score':89.2},
    {'name': 'leisi', 'id': '125624', 'score':36.9},
    {'name': 'qizha', 'id': '125605', 'score':53.5},
    {'name': 'renme', 'id': '125612', 'score':85.2},
    {'name': 'taingao', 'id': '125624', 'score':64.9},
]

max_score = max(stu['score'] for stu in students)

if __name__ == '__main__':
    print(sum_a)
    print(max_score)
    # 14
    # 89.2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
生成对抗网络(GANs)是一种强大的深度学习模型,常用于生成逼真的数据样本。下面是利用GANs生成数据的一般步骤: 1. 数据准备:首先,你需要准备一个真实数据集,该数据集是你想要生成数据类型的样本集合。例如,如果你想生成猫的图像,你需要收集一组猫的真实图像。 2. 构建生成器生成器是GANs的一部分,它负责生成伪造的数据样本。生成器通常使用卷积神经网络(CNN)或递归神经网络(RNN)来实现。你可以设计一个合适的生成器网络架构,并使用真实数据集来训练它,使其能够生成逼真的数据样本。 3. 构建判别器:判别器是GANs的另一部分,它负责判别生成器生成数据样本是否真实。判别器也使用CNN或RNN来实现。你需要设计一个适当的判别器网络架构,并使用真实数据集和生成器生成的伪造数据样本来训练它,使其能够准确判断数据的真实性。 4. 训练GANs:在训练过程中,生成器和判别器会相互对抗,不断迭代优化。生成器试图生成更真实的数据样本,而判别器试图准确判断数据的真实性。你可以使用对抗损失函数,如最小二乘损失(LSGAN)或Wasserstein距离(WGAN),来定义生成器和判别器的优化目标。 5. 生成数据:一旦你训练好了GANs模型,你可以使用生成器生成新的数据样本。你可以提供一些随机噪声向量作为输入,生成器会将其转换为逼真的数据样本。根据你的应用场景,你可以生成图像、音频、文本等不同类型的数据。 需要注意的是,GANs的训练过程可能会比较复杂和耗时,需要大量的计算资源和数据集。此外,生成数据样本可能不完美,可能存在一些噪声或不真实之处。因此,在实践中,你需要权衡模型的训练时间、计算资源和生成数据的质量,以满足你的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值