海亚,
让我解释一下我的观点。
template<typename T>
class node{
T data;
template<typename X>
node<X>* right; // can point to any node<typename> i know its wrong
}
Run Code Online (Sandbox Code Playgroud)
这样我就可以做类似的事情:
node<int> a;
a.data = 23;
node<float> b;
b.data =43.6;
a.right= b;
std::cout<< a.data <<a.right->data;
Run Code Online (Sandbox Code Playgroud)
另一个例子:
template <class Type>
struct vnode {
Type data;
vnode<Type> * vnodenext;
// vrow what_to_put_here // **i don't want to use void ptrs neither want to cast back manually**
}
Run Code Online (Sandbox Code Playgroud)
在 main 函数中,如果我定义了vnode类型的结构string和vnode类型的另一个结构,那么我应该在结构定义中int替换什么指针 def …
我安装了张量流并成功通过了 MNIST 演示。现在,我正在尝试运行seq2seq demo,但这对我不起作用。
我克隆了他们 github 存储库的一个版本,并尝试从存储库根目录运行一些列出的命令。
$ bazel run -c opt ./tensorflow/models/rnn/translate/translate.py
ERROR: Bad target pattern './tensorflow/models/rnn/translate/translate.py': package names may contain only A-Z, a-z, 0-9, '/', '-' and '_'.
INFO: Elapsed time: 0.115s
ERROR: Build failed. Not running target.
Run Code Online (Sandbox Code Playgroud)
这并不奇怪,因为让 bazel 执行 python 脚本并没有什么意义。
在教程的后面,
$ bazel run -c opt //tensorflow/models/rnn/translate:translate \
--data_dir ./data_dir --train_dir ./checkpoints_directory \
--en_vocab_size=40000 --fr_vocab_size=40000
Unrecognized option: --data_dir
Run Code Online (Sandbox Code Playgroud)
如果我从上面的调用中删除参数,它将在执行之前尝试(并失败)构建整个张量流项目translate。这不是我想要的,因为我已经使用 pip 成功安装了张量流。
我尝试跑步的最后一件事,
$ python ./tensorflow/models/rnn/translate/translate.py
Traceback (most recent call last):
File …Run Code Online (Sandbox Code Playgroud) 我感兴趣的是让TensorFlow在Windows上运行,但是目前我意识到这是不可能的,因为一些依赖项无法用于Windows,例如Bazel.
出现这种需求是因为我目前了解它,从TensorFlow访问GPU的唯一方法是通过非虚拟安装Linux.我确实知道我可以双启动到Linux安装,但更愿意避免这种路由.
要解决这个问题,我需要整个依赖链来构建TensorFlow,因为想知道这是否已经存在.
我也意识到,从源代码构建时,我可以捕获构建输出作为一个可靠的开始,但是如果它已经知道,我希望避免这种工作.
有一个在Windows上运行的Bazel测试版 - https://github.com/dslomov/bazel-windows
请参阅相关的GitHub问题以在Windows上运行TensorFlow.- https://github.com/tensorflow/tensorflow/issues/17
在Windows上运行的另一个原因是可以移植到Xbox One.
我找到了一个可能的答案,仍然需要检查它.这将生成依赖图作为点文件.
$ bazel query 'deps(//tensorflow/tools/pip_package:build_pip_package)' --output graph > tensorflow.dependency.dot
Run Code Online (Sandbox Code Playgroud) 假设我有一个非常小的数据集,只有50个图像.我想重新使用Red Pill教程中的代码,但是在每批训练中将随机变换应用于同一组图像,比如对亮度,对比度等进行随机更改.我只添加了一个函数:
def preprocessImages(x):
retValue = numpy.empty_like(x)
for i in range(50):
image = x[i]
image = tf.reshape(image, [28,28,1])
image = tf.image.random_brightness(image, max_delta=63)
#image = tf.image.random_contrast(image, lower=0.2, upper=1.8)
# Subtract off the mean and divide by the variance of the pixels.
float_image = tf.image.per_image_whitening(image)
float_image_Mat = sess.run(float_image)
retValue[i] = float_image_Mat.reshape((28*28))
return retValue
Run Code Online (Sandbox Code Playgroud)
对旧代码的小改动:
batch = mnist.train.next_batch(50)
for i in range(1000):
#batch = mnist.train.next_batch(50)
if i%100 == 0:
train_accuracy = accuracy.eval(feed_dict={
x:preprocessImages(batch[0]), y_: batch[1], keep_prob: 1.0})
print("step %d, training accuracy …Run Code Online (Sandbox Code Playgroud) 我试图用tensorflow实现一个XOR门.我成功地实现了这一点,但我不完全理解为什么它有效.我在这里和这里得到了stackoverflow帖子的帮助.所以有one hot true和without one hot true输出.这是我理解的网络,以便清楚地说明问题.
我的问题#1:
注意RELU功能和Sigmoid功能.为什么我们需要(特别是RELU功能)?你可能会说,为了实现非线性.我理解如何RELU实现非线性.我从这里得到了答案.现在根据我的理解,使用RELU和不使用之间的区别RELU是这个(见图).[我测试了这个tf.nn.relu功能.输出是这样的]
现在,如果第一个函数有效,为什么不是第二个函数呢?从我的角度来看,RELU通过组合多个线性函数来实现非线性.所以两者都是线性函数(上面两个).如果第一个实现非线性,第二个也应该实现,不应该吗?问题是,没有使用RELU网络卡住的原因?
具有一个热输出的XOR门
hidden1_neuron = 10
def Network(x, weights, bias):
layer1 = tf.nn.relu(tf.matmul(x, weights['h1']) + bias['h1'])
layer_final = tf.matmul(layer1, weights['out']) + bias['out']
return layer_final
weight = {
'h1' : tf.Variable(tf.random_normal([2, hidden1_neuron])),
'out': tf.Variable(tf.random_normal([hidden1_neuron, 2]))
}
bias = {
'h1' : tf.Variable(tf.random_normal([hidden1_neuron])),
'out': tf.Variable(tf.random_normal([2]))
}
x …Run Code Online (Sandbox Code Playgroud) 我有两个数据框,它们都具有相同的基本架构。(4 个日期字段、几个字符串字段和 4-5 个浮点字段)。打电话给他们df1和df2。
我想要做的基本上是获得两者的“差异” - 在那里我返回两个数据帧之间未共享的所有行(不在集合交集中)。请注意,两个数据帧的长度不必相同。
我尝试使用,pandas.merge(how='outer')但我不确定要作为“键”传入的列,因为确实没有,而且我尝试的各种组合都不起作用。这是可能的df1或者df2具有两个(或更多个),其是相同的行。
在 Pandas/Python 中这样做的好方法是什么?
有什么等同于tf.python_io.tf_record_iterator()和ParseFromString()功能的吗?谷歌搜索并查看 TensorFlow 存储库并没有出现太多结果。
我需要使用或类似方法从 space-track.org传播最近的 TLE的整个目录(需要一个免费帐户才能查看)skyfield。列表中通常有 15k-16k TLE。我有它的工作,但它很慢。在服务器上使用 46 个核心数小时。
没有结婚skyfield。如果astropy或pyephem或其他东西更快,我很乐意接受一个答案,该答案表明我正在尝试使用它来做什么。
对于我的应用程序,我将 TLE 加载到 Pandas 数据框中并在那里进行分析,因此我将在 Pandas 世界中保留我的示例。最小的例子如下。
假设卫星目录保存为catalog.txt,设置环境,然后读取 TLE,生成sf.sgp4lib.EarthSatellite对象,并将所有内容加载到 Pandas 数据帧中。我们还将位置偏移到了一些观察点。我将选择一个观察点留给读者(0, 0, 0 就可以了):
import skyfield as sf
import pandas as pd
from skyfield.api import load, Topos
from datetime import datetime, timezone, timedelta
with open('catalog.txt', 'r') as f:
tle_list = [line.strip() for line in f.read().split('\n')
if line is not ''] …Run Code Online (Sandbox Code Playgroud) 我df在column中有一个带有浮点值的数据框A。我想添加另一列,B例如:
B[0] = A[0]
为了i > 0...
B[i] = if(np.isnan(A[i])) then A[i] else Step3B[i] = if(abs((B[i-1] - A[i]) / B[i-1]) < 0.3) then B[i-1] else A[i]df可以如下生成样本数据框
import numpy as np
import pandas as pd
df = pd.DataFrame(1000*(2+np.random.randn(500, 1)), columns=list('A'))
df.loc[1, 'A'] = np.nan
df.loc[15, 'A'] = np.nan
df.loc[240, 'A'] = np.nan
df.loc[241, 'A'] = np.nan
Run Code Online (Sandbox Code Playgroud) 如果它是单行,我可以得到如下的迭代器
import pandas as pd
import numpy as np
a = np.zeros((100,40))
X = pd.DataFrame(a)
for index, row in X.iterrows():
print index
print row
Run Code Online (Sandbox Code Playgroud)
现在,我希望每个迭代器将返回一个子集X[0:9, :],X[5:14, :],X[10:19, :]等我怎样滚动做到这一点(pandas.DataFrame.rolling)?