我DecodeJpeg在训练模型时使用了Tensorflow 来读取图像.为了在Android设备上使用相同的方法,我使用bazel for android编译了Tensorflow DecodeJpeg.
我尝试在桌面上读取相同的图像,这是一x86_64台运行Windows 的机器.我跑了DecodeJpeg与默认值的图像的方法dct_method设置为'',INTEGER_FAST,INTEGER_ACCURATE.
arm64对于相同的图像,我在设备上做了同样的事情.但是,在相同设置下,相同图像的像素值明显不同.
例如,在(100,100,1)桌面上的值是213,而它是204打开的arm64.
更新:
在Gimp上(100,100)的像素值是(179,203,190)
对于dct_method设置为INTEGER_FAST,(100,100)x86_64 (171, 213, 165)上的值是,它是在臂上(180, 204, 191)
对于dct_method设置为INTEGER_ACCURATE,(100,100)x86_64 (170, 212, 164)上的值是,它是在臂上(179, 203, 190)
它是(170, 212, 164)用PIL,这是我用得cv2.imread也.
我使用tensorflow在python中训练了一个图像分类网络.训练有素的模型保存为.pb.现在,我想测试模型,我需要在C++中完成.
我用过numpy操纵和处理数据.在训练阶段,图像作为numpy数组传递.图像作为一维数组延伸,类标签前置于此数组.
我很困惑如何在C++中运行模型时传递图像数据numpy,我无法使用.我使用numpy操作来操纵和处理数据.如果我必须在C++中执行它,我应该以什么格式传入数据.
以下是我训练和保存模型的方法
def trainModel(data):
global_step = tf.Variable(0, name='global_step', trainable=False)
X, y,keep_prob = modelInputs((741, 620, 1),4)
logits = cnnModel(X,keep_prob)
cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits=logits, labels=y), name="cost")
optimizer = tf.train.AdamOptimizer(.0001, name='Adam').minimize(cost)
prediction = tf.argmax(logits, 1, name="prediction")
correct_pred = tf.equal(prediction, tf.argmax(y, 1), name="correct_pred")
accuracy = tf.reduce_mean(tf.cast(correct_pred, tf.float32), name='accuracy')
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
saver = tf.train.Saver()
batch_size = 30
for e in range(11):
batch_x, batch_y = data.next_batch(batch_size)
batch_y = batch_y.astype('int32')
x = np.reshape(batch_x, [batch_size, 741, …Run Code Online (Sandbox Code Playgroud) 我正在使用C++编写Stroustrup的原理和实践.我试图让以下程序编译.
#include <FL/Fl.H>
#include <FL/Fl_Box.H>
#include <Fl/Fl_Window.H>
int main()
{
Fl_Window window(200, 200, "Window title");
Fl_Box box(0,0,200,200,"Hey, I mean, Hello, World!");
window.show();
return Fl::run();
}
Run Code Online (Sandbox Code Playgroud)
我尝试编译它,g++ -std=c++11 trial.cpp -o trial但然后它抛出以下错误
/tmp/ccaLRS7L.o: In function `main':
trial.cpp:(.text+0x26): undefined reference to `Fl_Window::Fl_Window(int, int, char const*)'
trial.cpp:(.text+0x50): undefined reference to `Fl_Box::Fl_Box(int, int, int, int, char const*)'
trial.cpp:(.text+0x5f): undefined reference to `Fl_Window::show()'
trial.cpp:(.text+0x64): undefined reference to `Fl::run()'
trial.cpp:(.text+0x84): undefined reference to `Fl_Window::~Fl_Window()'
trial.cpp:(.text+0xae): undefined reference to `Fl_Window::~Fl_Window()'
/tmp/ccaLRS7L.o: In function `Fl_Box::~Fl_Box()':
trial.cpp:(.text._ZN6Fl_BoxD2Ev[_ZN6Fl_BoxD5Ev]+0x13): undefined …Run Code Online (Sandbox Code Playgroud) 如何打印到下面定义的张量的屏幕内容
std::vector<tensorflow::Tensor> finalOutput;
Run Code Online (Sandbox Code Playgroud)
并通过运行以下操作赋值
tensorflow::Status run_status = session->Run({{"x",input_tensor},
{"keep_prob", keep_prob}},
{"prediction"},
{},
&finalOutput);
Run Code Online (Sandbox Code Playgroud) 我清理了一个数据集,不得不NaN用None. 之后,我将其保存到一个新的 csv 文件中,当我使用 读取清理过的数据集时pandas.read_csv,所有None值都表示为NaN,我该如何避免这种情况?
我收拾的数据集NaN在其上运行线性回归,在这个过程中,我更换了一些NaN用None.执行此操作后,我NaN使用以下代码检查剩余列的值,其中houseprice是数据帧的名称
def cols_NaN():
return houseprice.columns[houseprice.isnull().any()].tolist()
print houseprice[cols_NaN()].isnull().sum()
Run Code Online (Sandbox Code Playgroud)
问题是上述结果None也包括值.我想选择那些有NaN值的列.我怎样才能做到这一点?