1 Star 2 Fork 0

zhang/seq2seq聊天机器人

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
beam.py 981 Bytes
一键复制 编辑 原始数据 按行查看 历史
zhang 提交于 2022-04-09 19:02 . 第一次提交
import heapq
class Beam:
def __init__(self):
self.heap = list() #保存数据的位置
self.beam_width = 3 #保存数据的总数
def add(self,probility,complete,seq,decoder_input,decoder_hidden):
"""
添加数据,同时判断总的数据个数,多则删除
:param probility: 概率乘积
:param complete: 最后一个是否为EOS
:param seq: list,所有token的列表
:param decoder_input: 下一次进行解码的输入,通过前一次获得
:param decoder_hidden: 下一次进行解码的hidden,通过前一次获得
:return:
"""
heapq.heappush(self.heap,[probility,complete,seq,decoder_input,decoder_hidden])
#判断数据的个数,如果大,则弹出。保证数据总个数小于等于3
if len(self.heap)>self.beam_width:
heapq.heappop(self.heap)
def __iter__(self):#让该beam能够被迭代
return iter(self.heap)
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/zhangtuo0723/seq2seq-chat-robot.git
git@gitee.com:zhangtuo0723/seq2seq-chat-robot.git
zhangtuo0723
seq2seq-chat-robot
seq2seq聊天机器人
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385