我最近一直在做一个基于的Udacity深度学习课程TensorFlow.我有一个简单的MNIST程序,准确率约为92%:
from tensorflow.examples.tutorials.mnist import input_data
import tensorflow as tf
mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)
x = tf.placeholder(tf.float32, [None, 784])
W = tf.Variable(tf.zeros([784, 10]))
b = tf.Variable(tf.zeros([10]))
y = tf.nn.softmax(tf.matmul(x, W) + b)
y_ = tf.placeholder(tf.float32, [None, 10])
cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(y), reduction_indices=[1]))
train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy)
init = tf.initialize_all_variables()
sess = tf.Session()
sess.run(init)
for i in range(1000):
batch_xs, batch_ys = mnist.train.next_batch(100)
sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys})
correct_prediction = tf.equal(tf.argmax(y,1), tf.argmax(y_,1))
accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
print(sess.run(accuracy, feed_dict={x: mnist.test.images, …Run Code Online (Sandbox Code Playgroud) 所以这可能是一个愚蠢的问题,但我看不出我做错了什么.
我正在运行一个程序,在调用时生成输出./ar.输出如下:
-0.00781 0.02344 0.98828
-0.01172 0.02734 0.98828
-0.01562 0.02344 0.98047
-0.00781 0.02344 1.00000
-0.00391 0.02344 0.98438
Run Code Online (Sandbox Code Playgroud)
每秒写一个新的输出行.
当我调用这样的代码./ar > log并ctrl-c在几秒钟后使用该程序时,该文件log为空.
我在嵌入式系统上运行此代码.系统有一个可写分区,它是我运行的分区,我有写入权限,因为我以root用户身份登录.
我正在编写一个机器人,使用他们的API 在Betfair网站上下注Python.我想在比赛时投注足球(足球)比赛.
我编写了一个XML feed来为我提供来自游戏的实时数据,但是XML Feed并不总是像Betfair那样使用与橄榄球队相同的名称.
例如,当提到曼联时,Betfair可能使用"Man Utd",而XML feed可能使用"Man United"或其他一些变体.我不仅限于热门市场,因此建立标准的Betfair到XML名称转换表是不可行的.
我正在尝试使用某种概率字符串匹配来表明两个数据源指的是同一个团队.
到目前为止,我已经玩过牧师,这似乎做一些贝叶斯计算,但我不认为我使用得当,因为我必须向下突破串入字符train的guesser.然后我简单地平均每个字母与每个名字相关联的概率,我知道这在数学上是不正确的,但我认为这可能是一个可行的启发式测试.
这是我的代码:
import scorefeed
from reverend.thomas import Bayes
guesser = Bayes()
teams=['home','away']
def train(team_no, name):
for char in name:
guesser.train(teams[team_no], char)
def untrain(team_no, name):
for char in name:
guesser.untrain(teams[team_no], char)
def guess(name):
home_guess = 0.0
away_guess = 0.0
for char in name:
if len(guesser.guess(char)) > 0:
for guess in guesser.guess(char):
if guess[0] == teams[0]:
home_guess = home_guess + guess[1]
print home_guess
if …Run Code Online (Sandbox Code Playgroud) python algorithm artificial-intelligence probability string-matching
我正在尝试将一些数据填充到两个数组中,一个包含标准化角度,另一个包含sin这些角度.阵列必须是2D,因为它们将被传递到训练神经网络的函数中.我试着声明一个[1][360]数组并且遇到错误,所以我也尝试过[1][],这就是intellisense告诉我的,但后来又遇到了另一个问题.
这是我的代码:
double[][] sin_in = new double[1][];
double[][] sin_out = new double[1][];
double deg = 0.0;
const double dtor = 3.141592654 / 180.0;
for (int i = 0; i < 360; i++)
{
sin_out[0][i] = Math.Sin(deg * dtor); // complains I need to use new
sin_in[0][i] = deg / 360.0; //When I use new I get another error
deg += 1.0;
}
IMLDataSet trainingSet
= new BasicMLDataSet(sin_in, sin_out); //Inputs must be [][]
Run Code Online (Sandbox Code Playgroud)
那么我犯了什么错误/误解?
这个问题最容易在伪代码中说明.我有一个这样的列表:
linelist = ["a", "b", "", "c", "d", "e", "", "a"]
Run Code Online (Sandbox Code Playgroud)
我想以这种格式得到它:
questionchunks = [["a", "b"], ["c", "d", "e"], ["a"]]
Run Code Online (Sandbox Code Playgroud)
我的第一次尝试是这样的:
questionchunks = []
qlist = []
for line in linelist:
if (line != "" and len(qlist) != 0 ):
questionchunks.append(qlist)
qlist = []
else:
qlist.append(line)
Run Code Online (Sandbox Code Playgroud)
我的输出有点乱了.对于我能得到的任何指示,我将不胜感激.
我正在编写一个简单的脱机Web应用程序以配置设备(与无线路由器设置页面类似)。
连接到我的设备的计算机没有互联网连接,它将从我的设备上运行的服务器加载页面。
我使用Bootstrap.css的Bootswatch覆盖构建了页面,因为这是我熟悉的库。但是,我的页面加载挂起,因为浏览器尝试检索Google字体,但显然无法。
有没有不使用Google字体的Bootstrap.css版本,还是有可以覆盖它们的方法?
我正在尝试学习如何编写将从Linux中的串行端口读取的C代码.我发现似乎是一个很好的教程在这里.
我希望能够测试这段代码,所以我想我需要一个串口,或者在上面的代码读取时写入串口的方法.
我正在使用virtualbox在我的Mac上运行Ubuntu 10.04作为虚拟机.我的想法是建立虚拟串行连接并从主机写入访客.希望像cat "Hello World" > /tmp/fake_serial主机终端一样简单,并且可以通过上面链接中的程序读取.
这可能吗?我尝试使用虚拟框添加串口,当我尝试执行上述命令时,出现错误,说我无法写入套接字.
我想到的第二个选项是使用类似minicom客户操作系统内部的东西来连接说/dev/ttyS1和写消息,以便我的代码同时读取.再次,假设波特率和其他设置都可以,这可能吗?
我没有很多使用串口的经验,所以我很感激有关最佳方法的建议.提前致谢.
我正在研究一些代码来标记何时对网站进行了更改.我在类中使用静态变量时遇到了问题,因此我想在命名空间中声明一个变量,并在进行更改时设置此== 1.
以下是我编写的一些简化代码来表示问题:
PH值:
#include<iostream>
using namespace std;
#ifndef p_H
#define p_H
namespace testing{
extern int changes_made;
class p
{
public:
void changed();
void print_change();
void print_change_ns();
private:
static int changes;
int info;
};
}
#endif
Run Code Online (Sandbox Code Playgroud)
p.cpp:
#include "p.h"
#include<iostream>
using namespace testing;
int p::changes=0;
void p::changed(){
p::changes=1;
}
void p::print_change(){
cout << p::changes << endl;
}
void p::print_change_ns(){
if (testing::changes_made == 1){
cout << 1 << endl;
}
else{
cout << 0 << endl;
}
}
Run Code Online (Sandbox Code Playgroud)
main.cpp中:
#include<iostream>
#include"p.h" …Run Code Online (Sandbox Code Playgroud) 我今天一直在努力学习I2C,我花了一些时间来设置,但我现在已经配置了一个i2c-tools已安装的Raspberry Pi ,我可以看到/dev/i2c-0.
但是,当我运行时,i2cdetect -y 0我得到一个空的地址表.这是有道理的,因为我没有任何设备连接到I2C总线.我想做的是能够写入I2C引脚并使用我的示波器观察输出,甚至连接LED,这样我就能看到状态变化.
这是否可能,如果是这样,我该怎么办?提前致谢.
我听说过关于PyPy的好东西.特别是我听说它非常快,这让我想知道它是否可用于我拥有的嵌入式项目.
我下载PyPy-2.6了我的Windows 7电脑,并将内容解压缩到一个目录中.
我写了一个小测试程序,允许我进行基准测试:
import time
def fib(n):
if n == 0 or n == 1:
return 1
return fib(n - 1) + fib(n - 2)
t0 = time.time()
fib(20)
t1 = time.time()
print t1-t0
所以我去了PyPy解压缩的目录,运行./pypy.exe hello.py并得到答案0.120.
然后我启动了一个cygwin控制台并运行python hello.py并得到了答案0.01.
我使用PyPy是错误的还是只对某些应用程序更快?
编辑
感谢Rob指出JIT编译器需要时间来预热.
扩展我的示例代码会产生以下结果:
n PyPy Python 20 0.12 0.01 25 0.15 0.06 30 0.34 0.67 35 0.92 7.39 40 10.98 82.9
似乎有0.1秒的启动成本或其他东西,但之后它会更快.
python ×3
c ×2
linux ×2
algorithm ×1
arrays ×1
bash ×1
bootswatch ×1
c# ×1
c++ ×1
css ×1
embedded ×1
html ×1
i2c ×1
list ×1
probability ×1
pypy ×1
serial-port ×1
string ×1
tensorflow ×1
virtualbox ×1