查看和理解TensorBoard中的标量值非常简单.但是,目前还不清楚如何理解直方图.
例如,它们是我的网络权重的直方图.
(由于sunside修复了一个bug)
解释这些的最佳方法是什么?第1层重量看起来大致平坦,这意味着什么?
我在这里添加了网络构造代码.
X = tf.placeholder(tf.float32, [None, input_size], name="input_x")
x_image = tf.reshape(X, [-1, 6, 10, 1])
tf.summary.image('input', x_image, 4)
# First layer of weights
with tf.name_scope("layer1"):
W1 = tf.get_variable("W1", shape=[input_size, hidden_layer_neurons],
initializer=tf.contrib.layers.xavier_initializer())
layer1 = tf.matmul(X, W1)
layer1_act = tf.nn.tanh(layer1)
tf.summary.histogram("weights", W1)
tf.summary.histogram("layer", layer1)
tf.summary.histogram("activations", layer1_act)
# Second layer of weights
with tf.name_scope("layer2"):
W2 = tf.get_variable("W2", shape=[hidden_layer_neurons, hidden_layer_neurons],
initializer=tf.contrib.layers.xavier_initializer())
layer2 = tf.matmul(layer1_act, W2)
layer2_act = tf.nn.tanh(layer2)
tf.summary.histogram("weights", W2)
tf.summary.histogram("layer", layer2)
tf.summary.histogram("activations", layer2_act)
# Third layer of weights
with tf.name_scope("layer3"): …
Run Code Online (Sandbox Code Playgroud) 我之前通过Anaconda在Ubuntu 14.04中安装了Jupyter笔记本,刚才我安装了TensorFlow.无论我是在笔记本电脑上工作还是只是编写脚本,我都希望TensorFlow能够正常工作.在我尝试实现这一目标时,我最终安装了TensorFlow两次,一次使用Anaconda,一次使用pip.Anaconda安装工作,但我需要使用"source activate tensorflow"来预先调用python.并且pip安装工作得很好,如果以标准方式启动python(在终端中),那么tensorflow加载就好了.
我的问题是:我怎样才能在Jupyter笔记本中使用它?
这引出了一个更普遍的问题:似乎我的Jupyter/Anaconda中的python内核与python内核(或环境?不确定这里的术语)分开使用系统范围.如果这些重合,那将是很好的,所以如果我安装一个新的python库,它可以通过我运行python的各种方式访问.
谷歌最近宣布了Clould ML,https: //cloud.google.com/ml/,这非常有用.但是,一个限制是Tensorflow程序的输入/输出应该支持gs://.
如果我们使用所有tensorflow APIS来读/写文件,它应该没问题,因为这些API支持gs://
.
但是,如果我们使用本机文件IO API open
,它不起作用,因为它们不理解gs://
例如:
with open(vocab_file, 'wb') as f:
cPickle.dump(self.words, f)
Run Code Online (Sandbox Code Playgroud)
此代码不适用于Google Cloud ML.
但是,将所有本机文件IO API修改为tensorflow API或Google Storage Python API实际上非常繁琐.有没有简单的方法来做到这一点?gs://
在本机文件IO之上支持谷歌存储系统的任何包装器?
正如这里建议的那样,Pickled scipy稀疏矩阵作为输入数据?,也许我们可以使用file_io.read_file_to_string('gs://...')
,但仍然需要重要的代码修改.
使用firebaseArray,是否可以按指定的子键进行排序:(https://www.firebase.com/docs/web/guide/retrieving-data.html#section-queries)?
var fireRef = new Firebase(https://dinosaur-facts.firebaseio.com/dinosaurs);
var query = fireRef.orderByChild("echo").limitToFirst(25);
var todos = $firebaseArray(query);
Run Code Online (Sandbox Code Playgroud)
但是,默认情况下,Firebase会按升序检索密钥.
接下来是具有数值的孩子,按升序排序.
有没有办法直接从firebaseArray 以降序获得结果?例如,他们有什么喜欢.reverse()
或.orderBy(desc, ...)
?
我安装了tensorflow-0.8.0 GPU版本,tensorflow-0.8.0-cp27-none-linux_x86_64.whl.它说它需要CUDA工具包7.5和CuDNN v4.
# Ubuntu/Linux 64-bit, GPU enabled. Requires CUDA toolkit 7.5 and CuDNN v4. For
# other versions, see "Install from sources" below.
Run Code Online (Sandbox Code Playgroud)
但是,我意外忘记安装CuDNN v4,但除了错误消息"无法打开CUDA库libcudnn.so"之外,它还能正常工作.但它有效,并说,"创建TensorFlow设备(/ gpu:0)".
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:99] Couldn't open CUDA library libcudnn.so. LD_LIBRARY_PATH: /usr/local/cuda/lib64:
I tensorflow/stream_executor/cuda/cuda_dnn.cc:1562] Unable to load cuDNN DSO
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:105] successfully opened CUDA library libcurand.so locally
('Extracting', 'MNIST_data/train-images-idx3-ubyte.gz')
/usr/lib/python2.7/gzip.py:268: VisibleDeprecationWarning: …
Run Code Online (Sandbox Code Playgroud) 基本上,我想把一个内部.但是,离子滑动滑动是如此敏感,所以我无法滚动内容.它只是刷到下一张幻灯片.
是否可以在某个区域禁用滑动操作?
如图所示,我想禁用B区域的滑动操作.我想(如果可能的话)我需要把一些类放在离子滚动和/或div下面,但我无法弄明白.
这是我的部分HTML代码:
<ion-slide-box on-slide-changed="slideHasChanged($index)">
<ion-slide>
... // A area content
<ion-scroll direction="x" ...>
<div style="width: 5000px; height: 100px" ...>
// B area. Very wide content
</div>
</ion-scroll>
... // C area content
</ion-slide>
</ion-slide-box>
Run Code Online (Sandbox Code Playgroud)
我非常感谢你的帮助.
我想检查两个张量是否具有相同的形状。
假设我有一些这样的张量:
a = tf.placeholder(tf.float32, shape=[None, 3])
b = tf.placeholder(tf.float32, shape=[None, 3])
Run Code Online (Sandbox Code Playgroud)
我补充说assert a.shape == b.shape
。但是,这失败了,可能是由于 None。事实上a.shape
= (?, 1)
,也b.shape
就是(?, 1)
。他们在我看来都一样。
如果没有 None,它工作正常。
a = tf.placeholder(tf.float32, shape=[1, 3])
b = tf.placeholder(tf.float32, shape=[1, 3])
assert a.shape == b.shape # True
Run Code Online (Sandbox Code Playgroud)
如何在形状检查中忽略 None ?
总之:
1: a = tf.placeholder(tf.float32, shape=[1, 3])
2: b = tf.placeholder(tf.float32, shape=[1, 3])
3: assert a.shape == b.shape # True
4:
5: a = tf.placeholder(tf.float32, shape=[None, 3])
6: b = …
Run Code Online (Sandbox Code Playgroud)