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

建设网站能盈利吗淘宝网店代运营

建设网站能盈利吗,淘宝网店代运营,wordpress主题jquery,网页设计报告体会#x1f9e1;#x1f49b;#x1f49a;TensorFlow2实战-系列教程 总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在Jupyter Notebook中进行 本篇文章配套的代码资源已经上传 6、构建训练数据 所有的输入样本必须都是相同shape#xff08;文本长度#xff0c;…TensorFlow2实战-系列教程 总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在Jupyter Notebook中进行 本篇文章配套的代码资源已经上传 6、构建训练数据 所有的输入样本必须都是相同shape文本长度词向量维度等tf.data.Dataset.from_tensor_slices(tensor)将tensor沿其第一个维度切片返回一个含有N个样本的数据集这样做的问题就是需要将整个数据集整体传入然后切片建立数据集类对象比较占内存。tf.data.Dataset.from_generator(data_generator,output_data_type,output_data_shape)从一个生成器中不断读取样本 def data_generator(f_path, params):with open(f_path,encodingutf-8) as f:print(Reading, f_path)for line in f:line line.rstrip()label, text line.split(\t)text text.split( )x [params[word2idx].get(w, len(word2idx)) for w in text]#得到当前词所对应的IDif len(x) params[max_len]:#截断操作x x[:params[max_len]]else:x [0] * (params[max_len] - len(x))#补齐操作y int(label)yield x, y定义一个生成器函数传进来读数据的路径、和一些有限制的参数params 在是一个字典它包含了最大序列长度max_len、词到索引的映射word2idx等关键信息打开文件打印文件路径遍历每行数据获取标签和文本文本按照空格分离出单词获取当前句子的所有词对应的索引for w in text取出这个句子的每一个单词[params[‘word2idx’]取出params中对应的word2idx字典.get(w, len(word2idx))从word2idx字典中取出该单词对应的索引如果有这个索引则返回这个索引如果没有则返回len(word2idx)作为索引这个索引表示unknow如果当前句子大于预设的最大句子长度进行截断操作如果小于补充0标签从str转换为int类型yield 关键字用于从一个函数返回一个生成器generator。与 return 不同yield 不会退出函数而是将函数暂时挂起保存当前的状态当生成器再次被调用时函数会从上次 yield 的地方继续执行使用 yield 的函数可以在处理大数据集时节省内存因为它允许逐个生成和处理数据而不是一次性加载整个数据集到内存中 也就是说yield 会从上一次取得地方再接着去取数据而return却不会 def dataset(is_training, params):_shapes ([params[max_len]], ())_types (tf.int32, tf.int32)if is_training:ds tf.data.Dataset.from_generator(lambda: data_generator(params[train_path], params),output_shapes _shapes,output_types _types,)ds ds.shuffle(params[num_samples])ds ds.batch(params[batch_size])ds ds.prefetch(tf.data.experimental.AUTOTUNE)else:ds tf.data.Dataset.from_generator(lambda: data_generator(params[test_path], params),output_shapes _shapes,output_types _types,)ds ds.batch(params[batch_size])ds ds.prefetch(tf.data.experimental.AUTOTUNE)return ds定义一个制作数据集的函数is_training表示是否是训练这个函数在验证和测试也会使用训练的时候设置为True验证和测试为False当前shape值1是否在训练如果是构建一个Dataset传进我们刚刚定义的生成器函数并且传进实际的路径和配置参数输出的shape值输出的类型指定shuffle指定 batch_size设置缓存序列根据可用的CPU动态设置并行调用的数量说白了就是加速如果不是在训练则验证和测试不同的就是路径不同以及没有shuffle操作其他都一样最后把做好的Datasets返回回去 7、自定义网络模型 一条文本变成一组向量/矩阵的基本流程 拿到一个英文句子通过查语料表将句子变成一组索引通过词嵌入表结合索引将每个单词都变成一组向量一条句子就变成了一个矩阵这就是特征了 BiLSTM即双向LSTM就是在原本的LSTM增加了一个从后往前走的模块这样前向和反向两个方向都各自生成了一组特征把两个特征拼接起来得到一组新的特征得到翻倍的特征。其他前面和后续的处理操作都是一样的。 class Model(tf.keras.Model):def __init__(self, params):super().__init__()self.embedding tf.Variable(np.load(./vocab/word.npy), dtypetf.float32, namepretrained_embedding, trainableFalse,)self.drop1 tf.keras.layers.Dropout(params[dropout_rate])self.drop2 tf.keras.layers.Dropout(params[dropout_rate])self.drop3 tf.keras.layers.Dropout(params[dropout_rate])self.rnn1 tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(params[rnn_units], return_sequencesTrue))self.rnn2 tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(params[rnn_units], return_sequencesTrue))self.rnn3 tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(params[rnn_units], return_sequencesFalse))self.drop_fc tf.keras.layers.Dropout(params[dropout_rate])self.fc tf.keras.layers.Dense(2*params[rnn_units], tf.nn.elu)self.out_linear tf.keras.layers.Dense(2) def call(self, inputs, trainingFalse):if inputs.dtype ! tf.int32:inputs tf.cast(inputs, tf.int32)batch_sz tf.shape(inputs)[0]rnn_units 2*params[rnn_units]x tf.nn.embedding_lookup(self.embedding, inputs) x self.drop1(x, trainingtraining)x self.rnn1(x)x self.drop2(x, trainingtraining)x self.rnn2(x)x self.drop3(x, trainingtraining)x self.rnn3(x)x self.drop_fc(x, trainingtraining)x self.fc(x)x self.out_linear(x)return x自定义一个模型继承tf.keras.Model模块初始化函数初始化词嵌入把之前保存好的词嵌入文件向量读进来定义一层dropout1定义一层dropout2定义一层dropout3定义一个rnn1rnn_units表示得到多少维的特征return_sequences表示是返回一个序列还是最后一个输出定义一个rnn2最后一层的rnn肯定只需要最后一个输出前后两个rnn的堆叠肯定需要返回一个序列定义一个rnn3 tf.keras.layers.LSTM()直接就可以定义一个LSTM在外面再封装一层APItf.keras.layers.Bidirectional就实现了双向LSTM定义全连接层的dropout定义一个全连接层因为是双向的这里就需要把参数乘以2定义最后输出的全连接层只需要得到是正例还是负例所以是2定义前向传播函数传进来一个batch的数据和是否是在训练如果输入数据不是tf.int32类型转换成tf.int32类型取出batch_size设置LSTM神经元个数双向乘以2使用 TensorFlow 的 embedding_lookup 函数将输入的整数索引转换为词向量数据通过第1个 Dropout 层数据通过第1个rnn数据通过第2个 Dropout 层数据通过第2个rnn数据通过第3个 Dropout 层数据通过第3个rnn经过全连接层对应的Dropout数据通过一个全连接层最后数据通过一个输出层返回最终的模型输出
http://www.hkea.cn/news/14510670/

相关文章:

  • 网站制作的内容什么好市场推广计划怎么写
  • 做网站注册35类还是42烟台网站搭建
  • 自己用电脑网站建设怎么seo网站排名
  • 怎样在网上注册免费的网站医院 网站源码
  • 产品推广网站设计找装修公司去哪个网站
  • 互联网网站如何做园林绿化
  • 凡科网站后台辽宁建设工程信息网 招标文件
  • 赣州网站建设顺企网外贸网站怎么做才好
  • 建筑公司排名前100强营销型企业网站优化
  • 南京建设局的网站首页软件界面设计的原则
  • 鞍山做百度网站一年多少钱为什么网站百度搜不到
  • 大连推广网站搭建哪家好小程序二级分销系统
  • 怎么做网站呀淮安建设机械网站
  • 做视频周边的网站wordpress 用户上传头像
  • 做网站像美团一样多少钱唐山的网站建设公司
  • 郑州网站优化培训建设部网站注册
  • eclipse 开发jsp网站开发没有网站做cpa
  • 网站建设推广最简单的话术互联网设计师前景如何
  • 电商网站开发技术与维护wordpress 2个菜单做中英文
  • 北京丰台网站建设郑州公司建站模板
  • h5网站开发软件下载名字logo设计在线生成免费
  • 湖州房产网站建设企业网站一定要备案吗
  • 网站建设具备知识技能ai设计logo免费网站
  • 福田区住房和建设局官方网站网站建设套路
  • 企业自建网站平台有哪些苏州市住房和城乡建设局官方网站
  • ui作品集 网站怎么做化工原料东莞网站建设
  • 如何做网站的外链如何修改自己的网站标题
  • 零售户电商网站订货网址企业网站建设的技术指标和经济指标
  • 营销型网站建设服务电话内江网站seo
  • 自学网官方网站入口合肥网站优化排名推广