我已经在Linux Ubuntu 16.04上成功安装了tensorflow(GPU)并进行了一些小改动,以使其与新的Ubuntu LTS版本一起使用.
但是,我想(谁知道为什么)我的GPU满足了计算能力大于3.5的最低要求.事实并非如此,因为我的GeForce 820M只有2.1.有没有办法让tensorflow GPU版本与我的GPU一起工作?
我问的是这个问题,因为显然没有办法让在iOS上使用数字流GPU版本,但通过搜索互联网,我发现事实并非如此,事实上,如果不是因为这个不满足的要求,我几乎可以工作.现在我想知道GPU计算能力的这个问题是否也可以修复.
我使用Tensorflow构建了一个二元分类器,现在我想用AUC和准确度来评估分类器.
就准确性而言,我可以轻松地这样做:
X = tf.placeholder('float', [None, n_input])
y = tf.placeholder('float', [None, n_classes])
pred = mlp(X, weights, biases, dropout_keep_prob)
correct_prediction = tf.equal(tf.argmax(pred, 1), tf.argmax(y, 1))
accuracy = tf.reduce_mean(tf.cast(correct_prediction, "float"))
Run Code Online (Sandbox Code Playgroud)
在计算AUC时,我使用以下内容:
print(tf.argmax(pred, 1).dtype.name)
print(tf.argmax(pred, 1).dtype.name)
a = tf.cast(tf.argmax(pred, 1),tf.float32)
b = tf.cast(tf.argmax(y,1),tf.float32)
auc = tf.contrib.metrics.streaming_auc(a, b)
Run Code Online (Sandbox Code Playgroud)
并在训练循环中:
train_acc = sess.run(accuracy, feed_dict={X: batch_xs, y: batch_ys, dropout_keep_prob:1.})
train_auc = sess.run(auc, feed_dict={X: batch_xs, y: batch_ys, dropout_keep_prob:1.})
Run Code Online (Sandbox Code Playgroud)
这给了我以下输出(和错误)错误:
int64
int64
/usr/local/lib/python3.5/dist-packages/tensorflow/python/ops/array_ops.py:1197: VisibleDeprecationWarning: converting an array with ndim > 0 to an index will result in an …Run Code Online (Sandbox Code Playgroud) 在dplyr 0.7.4和R 3.4.1中使用as_tibble时,我得到以下输出
mtcars %>% aggregate(disp ~ cyl, data=., mean) %>% as_tibble()
Run Code Online (Sandbox Code Playgroud)
哪个输出
# A tibble: 3 x 2
cyl disp
<dbl> <dbl>
1 4.00 105
2 6.00 183
3 8.00 353
Run Code Online (Sandbox Code Playgroud)
而
mtcars %>% aggregate(disp ~ cyl, data=., mean)
Run Code Online (Sandbox Code Playgroud)
输出
cyl disp
1 4 105.1364
2 6 183.3143
3 8 353.1000
Run Code Online (Sandbox Code Playgroud)
以下并不奇怪
mtcars %>% group_by(cyl) %>% summarise(disp=mean(disp))
Run Code Online (Sandbox Code Playgroud)
又给了
# A tibble: 3 x 2
cyl disp
<dbl> <dbl>
1 4.00 105
2 6.00 183
3 8.00 353
Run Code Online (Sandbox Code Playgroud)
为什么这种四舍五入发生了,我该如何避免呢?
我有一个格式为“一年中的某一天”的日期列表,是通过将 lubridate::yday() 函数应用于日期列表而获得的。例如,从以下日期开始(mm-dd-yyyy 格式):
01-01-2015
01-02-2015
...
Run Code Online (Sandbox Code Playgroud)
通过应用 yday() 你得到
1
2
...
Run Code Online (Sandbox Code Playgroud)
是否有一个函数可以根据 yday 输出和年份执行相反的操作?即,从 yday 值和年份返回 mm-dd-yyyy 格式的日期?