paddlepaddle如何预加载embedding向量
使用小批量数据时,模型容易过拟合,所以需要对全量数据进行处理,我是用的是word2vec训练的词向量. 那么训练好对词向量如何加载呢?
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
-------------------------------------------------
Version : None
File Name : paddle_load_w2v
Description : None
Author : gongxijun
Email :
date : 2019-12-04
-------------------------------------------------
Change Activity:
2019-12-04:
-------------------------------------------------
"""
from __future__ import absolute_import
from __future__ import print_function
from __future__ import unicode_literals __author__ = 'gongxijun'
import paddle
import paddle.fluid as fluid
import paddle.fluid.layers as layers
import paddle.fluid.nets as nets
import numpy as np
import math
import codecs
from huangdao.dataset import data_feeder def load_parameter(file_name):
embeddings = []
words = []
with codecs.open(file_name, 'r',encoding="utf8") as f:
header = f.readline()
vocab_size, vector_size = map(int, header.split())
for line in range(vocab_size):
word_list = f.readline().strip("\n").strip(" ").split(' ')
word = word_list[0]
vector = word_list[1:]
words.append(word if len(word) > 0 else "unk")
assert len(vector) == vector_size, "{} {}".format(len(vector), vector_size)
embeddings.append(np.array(vector))
assert len(words) == len(embeddings)
return words, embeddings word_dict_len = 74378
word_dim = 128 def get_embedding(name, shape, is_sparse=True, dtype='int64'):
"""
:param name:
:param is_categorical: bool 是否是类标签
:param shape: must be (a,b)
:param dtype:
:param is_sparse: bool
:return:
"""
alias_id = layers.data(name=name, shape=[1], dtype=dtype)
assert len(shape) == 2, '{} must equal 2'.format(len(shape))
alias_emb = layers.embedding(input=alias_id, size=shape,
param_attr=fluid.param_attr.ParamAttr(name="embedding_{}".format(name)),
is_sparse=is_sparse)
alias_fc = layers.fc(input=alias_emb, size=shape[1])
return alias_fc words_emb = get_embedding("words", shape=(word_dict_len, word_dim)) place = fluid.CPUPlace()
exe = fluid.Executor(place) exe.run(fluid.default_startup_program())
embedding_param = fluid.global_scope().find_var(
"embedding_words").get_tensor()
words, embeddings = load_parameter("/Users/gongxijun/data/item2vec.txt")
embedding_param.set(embeddings, place)
paddlepaddle如何预加载embedding向量的更多相关文章
- Javascript图片预加载详解
预加载图片是提高用户体验的一个很好方法.图片预先加载到浏览器中,访问者便可顺利地在你的网站上冲浪,并享受到极快的加载速度.这对图片画廊及图片占据很大比例的网站来说十分有利,它保证了图片快速.无缝地发布 ...
- IIS初始化(预加载),解决第一次访问慢,程序池被回收问题
你以为你可以慢,那是不可能的!你以为你可以不动,那也是不可能的! 河南是守株待兔故事情节的发源地,讲的是懒惰的农夫坐在树桩旁等待可爱的小毛兔撞树的故事,那么这种事情怎么可能天天出现呢!你以为的事并一定 ...
- FragmentPagerAdapter加载fragment并使用setUserVisibleHint()处理预加载时遇到的坑,给textview赋值时出现的空指针异常
FragmentPagerAdapter加载fragment并使用setUserVisibleHint()处理预加载时,给textview赋值时出现的空指针异常 public class BaseFr ...
- ViewPager+Fragment取消预加载(延迟加载)(转)
原文:http://www.2cto.com/kf/201501/368954.html 在项目中,都或多或少地使用的Tab布局,所以大都会用到ViewPager+Fragment,但是Fragmen ...
- js图片预加载
图片预加载有大体有几种方式 1.html标签或css加载图片. 显而易见我们使用img标签或者通过标签的background-image属性都可以实现图片的预加载.但是为了避免初次载入过多图片影响体验 ...
- 利用简洁的图片预加载组件提升h5移动页面的用户体验
在做h5移动页面,相信大家一定碰到过页面已经打开,但是里面的图片还未加载出来的情况,这种问题虽然不影响页面的功能,但是不利于用户体验.抛开网速的原因,解决这个问题有多方面的思路:最基本的,要从http ...
- ASP.NET MVC3 Razor 调试与预加载
目录(?)[-] 获取服务器信息 FormsAuthenticationSlidingExpiration 属性 MVC3预加载 在ASP.NET MVC3开发中,调试中怎么也是不可缺少的,那对于 ...
- Javascript实现图片预加载【回调函数,多张图片】
使用JS实现一组图片动画效果或者使用HTML5 Canvas渲染一系列图片等案例中,需要图片全部加载完成方可运行动画效果.此时程序中就会涉及多张图片预加载代码.当接二连三的案例中都涉及图片预加载时,就 ...
- JS实现图片预加载无需等待
网站开发时经常需要在某个页面需要实现对大量图片的浏览;用javascript来实现一个图片浏览器,让用户无需等待过长的时间就能看到其他图片 网站开发时经常需要在某个页面需要实现对大量图片的浏览,如果考 ...
随机推荐
- php 根据URL下载远程图片、压缩包、pdf等文件到本地
1.此方法可以下载图片.压缩包.pdf(亲测),应该所有类型的文件都可以下载到本地,可以试一下 //远程路径,名称,文件后缀 function downImgRar($url,$rename,$ext ...
- Could not get lock /var/lib/dpkg/lock-frontend解决
在安装软件包时如果出现Could not get lock /var/lib/dpkg/lock-frontend,说明之前使用apt时出现异常,没有正常关闭,还在运行. lgj@lgj-Lenovo ...
- Linux下关于Qt无法调用fcitx的中文输入
1 本机环境: deepin 15.11 Qt 5.11.3 fcitx 输入法 2 问题描述 Qt Creator 和使用 QT 编译的程序运行时均不能使用deepin系统自带的fcitx输入法,且 ...
- Httpd服务入门知识-Httpd服务常见配置案例之显示服务器版本信息
Httpd服务入门知识-Httpd服务常见配置案例之显示服务器版本信息 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.httpd配置文件的组成 1>.主要组成 Globa ...
- WebService基础概念
一.序言 大家或多或少都听过 WebService(Web服务),有一段时间很多计算机期刊.书籍和网站都大肆的提及和宣传WebService技术,其中不乏很多吹嘘和做广告的成 分.但是不得不承认的是W ...
- Buuctf-------WEB之easy_tornado
1.给了三个提示 flag在/fllllllllllllag这里 Render+tornado这两个东西,显然是python web 根据提示flag所在文件夹,加上路径去访问,发现无法访问,被跳转到 ...
- 性能测试基础---联机负载&IP欺骗
·联机负载&IP欺骗 ·联机负载:又叫分布式负载,即通过多台负载机(压力机)运行脚本,向服务器发送请求,从而实现更多的负载压力. ·联机负载的具体操作: ·了解两个概念: ·控制机:所谓控制机 ...
- 图论篇2——最小生成树算法(kurskal算法&prim算法)
基本概念 树(Tree) 如果一个无向连通图中不存在回路,则这种图称为树. 生成树 (Spanning Tree) 无向连通图G的一个子图如果是一颗包含G的所有顶点的树,则该子图称为G的生成树. 生成 ...
- jenkins中jmeter项目流程图
- redux学你参考网站
redux官方网站 http://cn.redux.js.org/docs/api/combineReducers.html https://www.redux.org.cn 从设计的角度看Redux ...