小编Nik*_*hil的帖子

C++:类数据成员的初始化顺序

在下面的代码中,当X被调用的ctor 首先被调用A或被B调用时?它们放在班级正文中的顺序是否控制了这个?如果有人可以提供C++标准的一小段文本来讨论这个问题,那将是完美的.

class A {};
class B {};
class X
{
 A a;
 B b;
};
Run Code Online (Sandbox Code Playgroud)

c++ initialization class-members

36
推荐指数
2
解决办法
2万
查看次数

只需足够的Java for Hadoop

我大约10年来一直是C++开发人员.我需要为Hadoop选择Java.我怀疑我会在Java中做任何其他事情.所以,我想要一个我需要拿起的东西列表.当然,我需要学习核心语言,但还有什么?

我为此做了谷歌,这可能被视为"我想学习Java的可能副本.请告诉我怎么样?" 但事实并非如此.Java是一种庞大的编程语言,有很多库,我需要学习的内容在很大程度上取决于我使用的Hadoop.但是我想有可能说不喜欢学习这个.这也非常有用.

java hadoop

33
推荐指数
5
解决办法
3万
查看次数

使用Dill序列化scikit-learn/statsmodels模型有哪些陷阱?

我需要序列化scikit-learn/statsmodels模型,以便将所有依赖项(代码+数据)打包在一个人工制品中,这个人工制品可用于初始化模型并进行预测.使用pickle module不是一个选项,因为这只会处理数据依赖(代码不会被打包).所以,我一直在用Dill进行实验.为了使我的问题更精确,以下是我建立模型并坚持下去的示例.

from sklearn import datasets
from sklearn import svm
from sklearn.preprocessing import Normalizer
import dill

digits = datasets.load_digits()
training_data_X = digits.data[:-5]
training_data_Y = digits.target[:-5]
test_data_X = digits.data[-5:]
test_data_Y = digits.target[-5:]

class Model:
    def __init__(self):
        self.normalizer = Normalizer()
        self.clf = svm.SVC(gamma=0.001, C=100.)
    def train(self, training_data_X, training_data_Y):
        normalised_training_data_X = normalizer.fit_transform(training_data_X)
        self.clf.fit(normalised_training_data_X, training_data_Y)
    def predict(self, test_data_X):
        return self.clf.predict(self.normalizer.fit_transform(test_data_X))  

model = Model()
model.train(training_data_X, training_data_Y)
print model.predict(test_data_X)
dill.dump(model, open("my_model.dill", 'w'))
Run Code Online (Sandbox Code Playgroud)

与此相对应,以下是我如何初始化持久化模型(在新会话中)并进行预测.请注意,此代码未明确初始化或了解class Model.

import dill
from sklearn import datasets

digits …
Run Code Online (Sandbox Code Playgroud)

python pickle scikit-learn statsmodels dill

23
推荐指数
2
解决办法
2830
查看次数

通过RESTful API部署Tensorflow模型的示例

是否有通过RESTful API部署Tensorflow模型的示例代码?我看到了命令行程序和移动应用程序的示例.是否有一个框架,人们只需加载模型并通过Web框架(如Flask)公开预测方法来获取输入(比如通过JSON)并返回响应?通过框架,我的意思是扩展大量的预测请求.当然,由于模型是不可变的,我们可以启动预测服务器的多个实例并将其置于负载均衡器(如HAProxy)之后.我的问题是,人们是否正在使用某种框架或从头开始这样做,或者,这可能已经在Tensorflow中提供,我没有注意到它.

tensorflow tensorflow-serving

22
推荐指数
2
解决办法
2万
查看次数

Windows上的微秒级分辨率时间戳

如何在Windows上获得微秒级分辨率时间戳?

我正在寻找比QueryPerformanceCounter和更好的东西QueryPerformanceFrequency(这些只能给你一个自启动以来经过的时间,并且如果在不同的线程上调用它们不一定准确 - 也就是说,QueryPerformanceCounter可能在不同的CPU上返回不同的结果.还有一些处理器可以调整他们的节电频率,显然并不总是反映在他们的QueryPerformanceFrequency结果中.)

实现一个不断更新,高分辨率时间为Windows提供者,但它似乎并不稳固.当微秒问题看起来很棒,但它不能再下载了.

另一个资源是在Windows XP下获取准确的时间戳,但它需要许多步骤,运行辅助程序加上一些初始化的东西,我不确定它是否适用于多个CPU.

我还查看了维基百科文章时间戳计数器,它很有趣,但没那么有用.

如果答案只是用BSD或Linux来做,那就更容易了,这很好,但我想确认一下,并解释为什么在Windows中这么难以在Linux和BSD中这么容易.这是相同的精品硬件......

c++ windows time boost

16
推荐指数
5
解决办法
2万
查看次数

使用gdb调用printDebug方法

我有一个带有printDebug方法的类.它没有在代码中的任何地方使用,但我想在使用gdb(使用调用)进行调试时使用它.这基本上是以一种格式良好的方式打印对象的内容,例如我可能有一组集合.用于此的g ++选项是什么?我试过-O0但这不起作用.

我使用的工作是在构造函数中对debugPrint进行伪调用,并提供一个bool来指示你是否真的要打印或什么都不做.这很好,但必须有一个更好的方法来做到这一点.

如果我理解正确--O0不应该做任何优化,所以不应该删除死代码,但也许我错了.

c++ gdb

15
推荐指数
1
解决办法
4005
查看次数

如何将应用程序的构建日期放在应用程序的某个位置?

我想把应用程序的日期放在应用程序的某个地方.说一下盒子.有什么想法可以做到这一点?我需要为C#做这个,但我也在寻找一个大致的想法,所以你可以为C#以外的任何特定语言回答这个问题.

c#

11
推荐指数
2
解决办法
1万
查看次数

什么是打包我的Emacs安装(包和配置)的最佳方式,以便可以快速安装到任何地方?

我通常通过登录到远程计算机(通常是AWS)来编写代码.我有一个相当大的包列表,我使用的和一个相当大的.emacs.el.虽然我可以在nay远程计算机上快速安装emacs,但我正在寻找一种方法来"打包"我的emacs并将其存放在某处,以便我可以在我登录的任何计算机上快速安装它.什么是最好的方法呢?

emacs

11
推荐指数
2
解决办法
1904
查看次数

将Matlab/R中的模型转换为C++/Java

我想将使用forecast库在R中开发的ARIMA模型转换为Java代码.请注意,我只需要实现预测部分.拟合可以在R本身完成.我将查看该predict函数并将其转换为Java代码.我只是想知道是否有其他人曾经处于类似的情况,并设法成功使用Java库.

沿着类似的方向,也许这是一个没有具体答案的更普遍的问题; 处理可以在Matlab/R中进行模型构建但是需要在Java/C++中进行预测/预测的情况的最佳方法是什么?我越来越多地一直遇到这样的情况.我猜你必须咬紧牙关并亲自编写代码,这通常不像自己编写拟合/估算那么难.有关该主题的任何建议都会有所帮助.

matlab r

8
推荐指数
1
解决办法
7897
查看次数

提升共享指针:跨多个线程同时读取访问权限

我有一个线程A,它分配内存并将其分配给共享指针.然后,该线程产生3个其他线程X,Y和Z,并将共享指针的副本传递给每个线程.当X,Y和Z超出范围时,释放内存.但有一种可能性,即2个线程X,Y走出去的范围在时间完全相同的点,并有一个由2递减到对引用计数的竞争条件,而不是如此,它只被递减一次.所以,现在引用计数更新为0,因此存在内存泄漏.请注意,X,Y和Z仅读取内存.不写入或重置共享指针.长话短说,引用计数是否存在竞争条件,是否会导致内存泄漏?

c++ multithreading boost shared-ptr

6
推荐指数
3
解决办法
1013
查看次数