tensorflow与神经网络中遇到的问题与解决方法【持续更新】

1、如何在全连接层拼接特征?

有一种方法是有两个input,一个input通过网络最终达到全连接层,另一个input直接接一个全连接网络,神经元数是特征数,这两个可以进行一个concat。  当然了也可以直接输入特征concat到全连接层,但是据说前者效果要好一点。

2、word2vec词向量如何在网络中更新?

在我的一个模型中(网络层次较浅),我用word2vec词向量的效果比之用随机词向量然后更新的效果要远远远远远远的不如!!!很绝望,发现word2vec词向量生成tensor又不能更新,不能微调!解决办法有两个:

  • 输入的word2vec词向量先接一个全连接层,进行参数的更新。加个dense层就行
  • 将这个权重更改为可训练的,如下代码:
  1. W = tf.get_variable(name="W", shape=embedding.shape, initializer=tf.constant_initializer(embedding), trainable=False)

3、RNN中的输出,state和output?

参考文章:https://blog.csdn.net/taoqick/article/details/79475350

简单来说如果是单层gru或者单层普通rnn,那么output和state是一样的;但如果是lstm cell ,那么state是包含c和h的,而output只有h,那么我们一般在接下一层网络进行后面的处理的时候是用的它的h,这样的话用output也是一样的。再看,如果是多层的cell,那么用output来代表h,其实也行,但是这个h是最上层的cell输出的h!

4、tensorflow矩阵转置?

有的时候比如说tensor的shape是(A,B,C)

这时候我想要将其shape转化为(A,C,B)

用到一个函数,tf.transpose()

参考文章:https://blog.csdn.net/banana1006034246/article/details/75126815

将(A,B,C)的tensor转化为(A,C,B)的tensor

out = tf.transpose(input,perm=[0,2,1])


更新于2019-7-23:

实在扛不住tf2.0的诱惑了,准备入坑,这边也会记录一些tf2.0中会遇到的问题。

5、Tensor转list

这不是很简单吗?   a.eval()就转化成a的list形式了啊

no,tf2.0可以使用动态计算图,当使用动态计算图的时候,你可能会得到一个EagerTensor结果,这个东西是不能用eval()方法转化成list的。

需要用 a.numpy() 的方法转化成list。

原文地址:https://www.cnblogs.com/zhouxiaosong/p/11113747.html

时间: 2024-10-03 18:07:43

tensorflow与神经网络中遇到的问题与解决方法【持续更新】的相关文章

记录某项目中的踩坑与解决(持续更新)

前言 最近参加了某个比赛, 我所选的赛题就是个类似知乎这样的安卓app,由于着手近一个月了,踩了不少坑,之前没怎么记录,估计事后也会忘记干净. 因此特开一帖,在此记录下相关的坑. 记录 写完某个Recyclerview的item布局和相关适配器后, 然后展示的时候, 发现显示出来的Item数量小于List中绑定的数据量: 首先是检查了一遍适配器中的逻辑,发现没啥问题.然后在onCreateViewHolder中打log,发现只创建了两次就没了(而实际应该创建6次). 最后百度才发现是外面的Scr

Android开发中的问题及相应解决(持续更新)

最近博客写的少了,以后还得经常更新才行. ------------------------------------------------------------ 1.try cath 异常不全导致的意外问题. 之所以将此问题放在第一位,是因为前阵子中项目中出现了此类情况,并且这种情况很容易不注意或遗忘,但其错误却是致命的. 在Java/Android开发中,当调用一个函数时,此函数抛出一个A类型的异常,很自然的,在调用的地方我们会try.. catch此异常,并且绝大多数情况下,捕获异常是由E

Eclipse ADT中的logcat不显示解决方法

Eclipse ADT中的logcat不显示解决方法: 1.在Eclipse界面中找到DDMS,然后找到device选项卡,在这个选项卡中选择reset adb,如果不行尝试方法2: 2.不用关闭eclipse和模拟器,在Android SDK的tools目录下有个 ddms.bat 批处理文件,运行这个文件可以启动DDMS,同时这里面有logcat,可以显示信息: 3.以上方法都不行,最终杀手锏就是重启eclipse,重启模拟器,记得在任务管理器中关闭adb.exe,这时应该就可以了. 4.用

loadrunner安装破解中遇到的问题和解决方法

今天我们来总结下loadrunner在安装破解过程中遇到的问题以及解决方法 安装过程: 1.点击setup.exe运行我们的安装文件的时候,在安装的过程中,出现提醒“计算机缺少vc2005_sp1_with_atl_fix_redist”,安装不能继续下去. 2,出现这种情况是因为本机缺少该组件所致,安装此组件后重新安装就可以解决这个问题,我们可以在网上下载这个组件,但其实loadrunner是自带这个组件的,可以直接进行安装,找到安装程序自带的lrunner\Chs\prerequisites

asp.net url址址中中文汉字参数传递乱码解决方法

中文乱码是网站开发中会常碰到的问题,今天我们来讲一下关于url址址中中文汉字参数传递乱码解决方法,有需要的朋友可以参考下.在cs文件里传参的时候用UrlEncode: Response.Redirect("B.asp教程x?Name="+Server.UrlEncode(Name)); 接参的时候用UrlDecode: Response.Write(Server.UrlDecode(Request.QueryString["Name"])); 脚本儿里传参的时候用e

Android实际开发中的bug总结与解决方法(一)

                                                                             Android实际开发中的bug总结与解决方法(一) Android开发中有很多bug,我们是完全可以在线下避免的,不要等到线上报的BUG的再去修复.下面是我在实际开发中遇到过的bug和解决方法. BUG 1: java.lang.RuntimeException: Unable to start activity ComponentInfo

js中style.display=""无效的解决方法

本文实例讲述了js中style.display=""无效的解决方法.分享给大家供大家参考.具体解决方法如下: 一.问题描述: 在js中我们有时想动态的控制一个div显示或隐藏或更多的操作,但如果我们style.display=""可能导致没有效果. 看下面一段代码: 复制代码代码如下: <style> #name {     display:none; }</style></head><body><div id=

在启动php时,无法启动此程序,由于计算机中丢失MSVCR110.dll的解决方法

在启动php时,运行RunHiddenconsole.exe php-cgi.exe -b 127.0.0.1:9000 -c时,出现错误:无法启动此程序,由于计算机中丢失MSVCR110.dll 方法/步骤 首先进入 http://www.microsoft.com/zh-CN/download/details.aspx? id=30679 这个网址来进行相关程序的下载. 打开之后,在"选择语言"里选择"中文简体".然后点击右边的"下载"but

MS-SQLSERVER中的MSDTC不可用解决方法

今天在本地机直接在触发器里更新还有一台服务器数据时出现: MSDTC不可用  解决的方法:  在windows控制面版-->管理工具-->服务-->Distributed   Transaction   Coordinator-->属性-->启动 1.A.不用事务,关用SELECT   语句.能否够分布式查询?     B.LINKSERVER   在做分布式更新事务时不能对本机操作.(就是不能环回分布式事务)  C.DBCC   TRACEON   (3604,   730