我有一个TensorFlow模型,该模型的一部分评估准确性.这accuracy
只是张量流图中的另一个节点,它接收logits
和labels
.
当我想绘制训练准确性时,这很简单:我有类似的东西:
tf.scalar_summary("Training Accuracy", accuracy)
tf.scalar_summary("SomethingElse", foo)
summary_op = tf.merge_all_summaries()
writer = tf.train.SummaryWriter('/me/mydir/', graph=sess.graph)
Run Code Online (Sandbox Code Playgroud)
然后,在我的训练循环中,我有类似的东西:
for n in xrange(1000):
...
summary, ..., ... = sess.run([summary_op, ..., ...], feed_dict)
writer.add_summary(summary, n)
...
Run Code Online (Sandbox Code Playgroud)
同样在for循环内,每说100次迭代,我想评估验证的准确性.我有一个单独的feed_dict,我能够在python中非常好地评估验证的准确性.
但是,这是我的问题:我想通过使用节点为验证准确性做另一个总结accuracy
.我不清楚如何做到这一点.因为我有accuracy
节点,所以我应该能够重新使用它,但我不确定如何准确地执行此操作,这样我也可以将验证准确性写为单独的标量语句...
怎么可能这样呢?
我即将把我的头发拉出来试图弄清楚,究竟是如何构建一个U矩阵来实现自组织映射的可视化.(SOMS,又名Kohonen Nets).
我发现的每一个谷歌结果都没有帮助,是矛盾的,有大量的错别字,或者其他非常广泛.
我问一个简单的问题:我有一个3x3输出单位的输出网格:如何从中构造一个U矩阵?
到目前为止的链接,(包括这里的堆栈交换):
1)原始论文.(RIDDLED包含错误,拼写错误和误导性信息.U矩阵部分充满了错误,我不知道这篇论文是如何发表的.)
2)引用上述论文的SOM工具箱手册.(解释如何为输出行执行此操作,但不解释如何为输出网格执行此操作).
3)另一篇论文.(解释如何制作U矩阵,但与他的第一篇论文完全矛盾,以及它所基于的SOM工具箱).
4)关于SE 的类似问题并没有真正得到任何结果.
5)关于SE的另一个类似问题是好的,但没有解释如何制作U矩阵.
为了方便这个...我编写了一个非常简单的例子:
我有一个3x3输出网格,这意味着已经训练过的3x3输出神经元.所有神经元都有尺寸,比方说,4.现在我想制作一个U矩阵.
我到底该怎么做?
标题说明了一切.
基本上,每当我错误地让MATLAB使用大量的RAM进行模拟时,我就厌倦了重置我的comp,我正在创建许多参数.
如果RAM使用量开始超过我总RAM的指定百分比,有没有办法让它停止/错误?
我知道我在每次分配内存时都会尝试/捕获,但这是针对已编写的程序,并且为了将来参考,我希望能够在开始时设置一个参数并完成它.
有办法吗?
谢谢!
我的问题是pip不会更新我的Python包,即使没有错误.
它与此类似,但我现在仍然确定该怎么做.基本上,即使在通过pip更新所有内容之后,我的所有python包都显得过时了.以下是详细信息:
使用它,我有:
即便在我尝试之后:
sudo pip uninstall numpy
Run Code Online (Sandbox Code Playgroud)
其次是:
sudo pip install numpy
Run Code Online (Sandbox Code Playgroud)
它们都成功完成,但是当我进入python并检查numpy的版本时,它仍然是旧版本.(和所有其他包一样).
不确定这里发生了什么?......如何解决这个问题?PS我是新手,所以我可能需要明确的指示.谢谢.此外,如果有人想要,我可以提供pip的屏幕截图,因为它正在安装numpy.
编辑:
我根据评论运行的命令:
$which -a pip
/usr/local/bin/pip
$ head -1 $(which pip)
#!/usr/bin/python
$ which -a python
/usr/bin/python
Run Code Online (Sandbox Code Playgroud) 因此,基于我的问题和解决方案,在这里,我想是看到真正开始使用乳液,数字.但是,我遇到的一个问题是,我似乎无法显示Expectation运算符.
根据我的研究,我知道期望运算符可以正常显示如下:
/mathbb{E}
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试在MATLAB中使用它时,没有打印出来.
clear all
figure(1); clf(1);
set(gcf, 'color', 'white'), axis off %# Remove axes and set white background
my_text = '$$ \mathbb{E} $$';
text('units', 'inch', 'position', [-0.5 3.5], 'fontsize', 14, 'color', 'k', ...
'interpreter', 'latex', 'string', my_text);
Run Code Online (Sandbox Code Playgroud)
现在,我知道\ mathbb是某种不同的'库',但坦率地说它对数学公式非常有用.我如何在MATLAB中"包含"它?我迷失了.
在python中,假设我有一个大小为nxn的numpy
方阵X,并且我有一个大小为n的向量a.numpy
很简单,我想执行X - a的广播减法,但我希望能够指定哪个维度,以便我可以指定减法沿轴0或轴1.
如何指定轴?
在MATLAB中,我将许多不同的向量绘制成图形.现在,我想要做的只是撤消我绘制到该图的最后一个向量,而不清除其他所有内容.如何实现这一目标?可以完成吗?
谢谢
编辑:
figure(1); clf(1);
N = 100;
x = randn(1,N);
y = randn(1,N);
z = sin(1:N);
plot(x); hold on;
plot(y,'r');
plot(z,'k');
Run Code Online (Sandbox Code Playgroud)
现在,我想删除情节z,这是我制作的最后一个情节.
我想创建一个图形,一旦创建了子图,我想同时将属性应用于所有这些,而不需要通过for循环.事实上,我想在不需要进行for循环的情况下完成以下所有操作:
有没有办法做到这一点?
我有点被困在这里.我试图阅读并实现一些简单的连续滑块脚本(就像这个),但我没有得到任何地方.
我简单地想要的是,当我滑动滑块时,使用我的绘图中的连续滑块值.但是,我无法弄清楚如何提取滑块的值来这样做.
因此,例如,制作一个连续的滑块,然后用它来改变矢量的幅度,就像你连续滑动它一样.怎么办?
谢谢.
所以我有一个用Tensorflow编写的非常简单的NN脚本,我很难找到一些"随机性"来自哪里.
我记录了
当我训练时,我的网络,并且在第一次迭代中,很明显一切都是从一开始.我有一个SEED值,用于读取数据的方式,以及用于初始化网络权重的SEED值.那些我永远不会改变.
我的问题是,比如我每次重新运行的第二次迭代,我开始看到渐变发散,(少量,比如说,1e-6左右).然而,随着时间的推移,这当然会导致不可重复的行为.
这可能是什么原因?我不知道任何可能的随机来源可能来自哪里......
谢谢