当前位置: 首页 > wzjs >正文

网站频道运营怎么做四平网络推广

网站频道运营怎么做,四平网络推广,局域网内服务器做网站,京东alexa排名一、生成器介绍 1.1 概述 生成器指的是Generator对象,它不再像以往一样,一次性生成所有的数据,而是用一个,再生成一个,基于用户写的规则(条件)来生成数据,如果条件不成立&#xff…

一、生成器介绍

1.1 概述

生成器指的是Generator对象,它不再像以往一样,一次性生成所有的数据,而是用一个,再生成一个,基于用户写的规则(条件)来生成数据,如果条件不成立,则生成结束。

1.2 实现方式

        方式1:推导式;

        方式2:yield关键字实现。

1.3 名词解释:迭代

        迭代指的是 逐个的从容器类型中获取每一个元素的过程,称之为:迭代(遍历)

        例如:列表,集合,字典,生成器等,都是可以遍历(迭代)的,所以它们也称之为:可迭代对象。

1.4 目的/好处

        节约内存资源,减少内存占用。

1.5 如何从生成器中获取数据?

        方式1:next()函数

                next()函数是移动指针的,获取下一个元素。

        方式2:遍历

1.6 示例代码

#案例:演示生成器推导式写法,获取生成器对象。
if __name__ == '__main__':#1.生成器写法1:推导式写法my_generator=(i for i in range(1,10))print(f'my_generator:{my_generator}')print(f'my_generator的类型:{type(my_generator)}')print('-'*30)#2.生成器不是一下生成所有的数据,二十用一个再生成1个#如何从生成器中获取数据?#1.next()函数   2.for循环遍历#方式1.next()函数#next()是移动指针的,获取下一个元素print(next(my_generator))#1     range(1,10)  1->2print(next(my_generator))#2     2->3print('-'*30)for i in my_generator:#print(i)
运行结果:

二、yield关键字介绍

概述:

        yield可以创建生成器对象,逐个地把每个元素放到生成器对象中,函数结束时,返回生成器对象。

示例代码:
 

'''
yield写法示例
'''
#需求:获取1~10之间的整数,生成器写法。
#1.定义函数,获取:生成器对象
def get_generator():#yield写法,返回的是生成器对象for i in range(1,11):yield i
#2.测试上述代码
if __name__ == '__main__':#3.调用函数,获取生成器对象my_generator=get_generator()print(type(my_generator))#4.从生成器对象中,获取数据#方式1.next()函数print(next(my_generator))# 1print(next(my_generator))# 2print('-'*30)# 方式2.遍历for i in my_generator:print(i)
运行结果:

三、生成器案例 

案例

        自定义数据迭代器,按照指定的条数生成批次数据。在AI模型的训练过程中,是把数据分批次喂给模型的,而不是一次性投喂。

需求:
自定义数据迭代器(dataloader),实现根据指定的数据条数,获取每批次的数据。

示例代码:

import math
#math.ceil()函数,获取天花板数,即:比这个数字大的所有整数中,最小的那个整数
print(math.ceil(5)) #5
print(math.ceil(5.1))#6
print(math.ceil(100/8))#13
def dataset_loader(batch_size):'''自定义函数,获取批次数据:param batch_size: 每批次数据的条数:return: 生成器对象,每个数据=1批的数据'''#1.读取源文件,获取到所有的数据with open('./jaychou_lyrics.txt','r',encoding='utf-8') as src_f:#一次性读取所有的行,并放到列表里.list_data=src_f.readlines()#2.获取数据的总条数.line_count=len(list_data)#3.根据数据的总条数,结合每批次的数据条数,计算:总批次数.batch_count=math.ceil(line_count/batch_size)#4,遍历 总批次数,获取到:每个批次的 编号,然后生成:该批次的数据.for batch_idx in range(batch_count):'''推理过程:假设batch_size=8,batch_count=13,即:13批,8条/批,则:batch_idx=0,代表第1批数据,数据为:第1条~第8条,[0:8]batch_idx=1,代表第2批数据,数据为:第9条~第16条,[8:16]batch_idx=2,代表第3批数据,数据为:第17~24条,[16:24]...'''yield list_data[batch_idx*batch_size:(batch_idx+1)*batch_size]
if __name__ == '__main__':#5.获取生成器对象.data_loader=dataset_loader(batch_size=8)#6.获取第1批次的数据.batch_data1=next(data_loader)for line in batch_data1:print(line,end='')print('-'*30)print(next(data_loader))
运行结果:

下期继续分享~

http://www.dtcms.com/wzjs/511157.html

相关文章:

  • wordpress旅游类网站模板seo的搜索排名影响因素有哪些
  • 厦门的一个做设计的网站类聚seo
  • 涟水县建设局网站百度搜索引擎排行榜
  • 邯郸医疗网站建设seo网站诊断分析报告
  • 织梦做网站主页容易吗口碑营销案例简短
  • 环境保护网站模板今日头条极速版官网
  • 抓取网站源码怎么做镜像合肥优化推广公司
  • 做网站对外贸有什么用电商seo引流
  • 找网站建设企业百度知道客服电话
  • 网站建设费用选择网络专业腾讯与中国联通
  • 做网站的哪里有中国电信视频app下载
  • 做的好的新闻网站网店交易平台
  • 南昌网站建设专业公司百度allin 人工智能
  • 网站制作可以最权威的品牌排行榜网站
  • 12380网站建设情况说明常熟网站建设
  • 建设企业网站的好处是什么百度指数批量获取
  • 触动网站建设网络推广的工作内容
  • 寻找网站建设长春最新发布信息
  • 做网站的服务器排名怎么制作自己公司网站
  • 听歌网站源码网上销售方法
  • 网站对网友发帖隐私做处理百度广告代理商
  • 云南网站建设费用google官网入口手机版
  • 金融行业网站建设方案网站推广的方式和方法
  • 大圣网站建设舆情信息网
  • asp.net网站开发案例百度招聘2022年最新招聘
  • 通辽网站建设培训广东清远今天疫情实时动态防控
  • 北京公司网站建设费用互联网网络推广
  • 哪里有做网站的公司网址生成短链接
  • 成都做网站设计哪家最权威网络工程师
  • 专业做室内设计的网站有哪些方面培训心得