我一直在使用c/c ++/cuda不到一个星期,不熟悉库中所有可用的选项(对不起,如果我的问题太古怪或不可能).这是我的问题,我有一个过程,它接受数据并分析它然后做三件事中的一件,(1)保存结果,(2)丢弃结果或(3)打破数据并将其发送回处理.
通常选项(3)会创建大量数据,而且我很快就超出了我可用的内存(我的服务器是16演出),所以我解决这个问题的方法就是设置一个队列服务器(rabbitmq)来发送和接收工作from(它在达到一定大小的内存时交换队列).当我使用具有更快nics的小型服务器来传输数据时,这非常有效,但是最近我一直在学习并将我的代码从Java转换为c/c ++并在GPU上运行它,这使得队列成为一个很大的瓶颈.瓶颈显然是网络io(在廉价系统上进行分析表明cpu使用率很高,旧的gpu类似,但新的更快的cpus/gpus没有得到太多利用,网络IO稳定在300-400/mbs).所以我决定尝试完全消除网络并在服务器上本地运行队列服务器,这使得它更快但我怀疑如果我使用不依赖于外部网络服务的解决方案,它可能会更快(即使我我在本地运行它们.它可能不起作用但我想试验.
所以我的问题是,有没有什么我可以像队列那样使用我可以在读取条目时删除条目但是一旦达到一定大小就将队列交换到磁盘(但保持内存中队列总是满的,所以我不喜欢不必等待从磁盘读取?在了解Cuda时,有许多研究人员对大型数据集运行分析的例子,以及如何保持数据以最快的速度进入系统的任何想法(我想他们不受磁盘/网络的限制,否则更快的gpu的不会真的给他们增加性能的幅度)?
有这样的事吗?
ps如果它有帮助,到目前为止我已经尝试过rabbitmq(对我的情况来说太慢了),apollo mq(很好但是仍然基于网络),reddis(非常喜欢它但不能超过物理内存),玩mmap()和我我还压缩了我的数据以获得更好的吞吐量.我知道一般的解决方案,但我想知道是否有c/c ++,cuda或我可以使用的库本机(理想情况下,我会在Cuda全局内存中有一个队列交换到交换到磁盘的主机内存,所以GPU总是处于全速状态,但这可能是一厢情愿的想法).如果您还有其他任何想法可以让我知道,我会喜欢尝试它(如果它有帮助,我在Mac上开发并在Linux上运行).
我想列出一个数据框,其中特定列为空或不为空,我让它工作使用 -
df[df.Survive.notnull()] # contains no missing values
df[df.Survive.isnull()] #---> contains missing values
Run Code Online (Sandbox Code Playgroud)
这工作得很好,但我想让我的代码更加动态,并将“Survive”列作为变量传递,但它对我不起作用。
我试过:
variableToPredict = ['Survive']
df[df[variableToPredict].notnull()]
Run Code Online (Sandbox Code Playgroud)
我收到错误 -ValueError: cannot reindex from a duplicate axis
我确信我犯了一个愚蠢的错误,我能做些什么来解决这个问题?
我正在使用python的机械化模块导航网站,并且无法点击下一页的javascript链接.我做了一些阅读,人们建议我需要python-spidermonkey和DOMforms.我设法安装它们我不确定实际点击链接的语法.
我可以将页面上的代码识别为:
<a href="javascript:__doPostBack('ctl00$MainContent$gvSearchResults','Page$2')">2</a>
Run Code Online (Sandbox Code Playgroud)
有谁知道如何点击它?或者,如果可能还有其他工具.
谢谢
我正在使用python脚本快速设置服务器,它基本上有一个我想在linux命令行上执行的命令列表.
我可以安装我需要的所有软件,但不知道如何仅通过命令行创建一个mysql用户?我可以进入mysql shell并执行它但是有一种方法可以从linux shell中完成它(一旦创建了用户,我可以使用python脚本远程完成所有数据库设置)?
我刚刚尝试了多处理(并且非常棒!),但我想知道是否有任何指导来选择进程数量?它只是基于服务器上的核心数量?它是以某种方式基于应用程序运行(循环次数,它使用多少CPU等)?等...我如何决定产生多少个进程?现在,我只是猜测并添加/删除流程,但如果有某种指导方针或最佳实践,那将会很棒.
另一个问题,我知道如果我添加太少会发生什么(程序是slooow)但是如果我添加'太多'怎么办?
谢谢!
更新: I have realized the problem below is not possible to answer in its current form because of the large amount of data involved(15k+ items). I just found out, the group I'm trying to help just lets it run for a month then terminates it to use the results(which is why they wanted to get more results in a quicker time). This seems insane to me because they are only using the first few sets of data(the last items in …
我理解pagerank背后的想法并实现了它(当阅读"编程集体智慧"一书时).
但我读到它可以分布在几个服务器上(我猜谷歌正在做).我有点困惑,因为根据我的理解,你需要整个图表才能对其进行页面排名,因为每个排名都与其他排名相关.
我发现了维基文章,但没有解释太多.
有关如何做到这一点的任何建议?另外,奖励问题:是否可以将分布式pagerank专用于pagerank,或者将所使用的方法应用于应用于图形的其他机器学习算法?
我在将CSV文件加载到mysql数据库时遇到了一些麻烦.这是我的代码:
for q in csvReader:
name, price, LastUpdate, today = q
co.execute("""INSERT INTO fundata (name, price, LastUpdate) VALUES(name, price, LastUpdate);""",q)
Run Code Online (Sandbox Code Playgroud)
我收到一个错误说TypeError:在字符串格式化过程中没有转换所有参数.
name列是字符串,price是float,LastUpdate是日期.我读了一下,看到一些脚本包含%(值)s和%(值)d的值(在我的情况下,而不是d我使用f),但后来我得到一个不同的错误:
TypeError:format需要映射
任何人都可以帮我告诉我我做错了什么?
谢谢!
我正在尝试学习Baum-Welch算法(与隐马尔可夫模型一起使用).我理解前向 - 后向模型的基本理论,但有人帮助用一些代码解释它会很好(我发现读代码更容易,因为我可以玩它来理解它).我检查了github和bitbucket并没有找到任何容易理解的东西.
网上有许多HMM教程,但概率已经提供,或者在拼写检查器的情况下,添加单词的出现以制作模型.如果某人有仅使用观察结果创建Baum-Welch模型的例子,那将会很酷.例如,如果您只有:http://en.wikipedia.org/wiki/Hidden_Markov_model#A_concrete_example:
states = ('Rainy', 'Sunny')
observations = ('walk', 'shop', 'clean')
Run Code Online (Sandbox Code Playgroud)
这只是一个例子,我认为任何解释它的例子,我们可以更好地理解,这是很好的.我有一个特定的问题,我试图解决,但我认为显示人们可以学习并适用于他们自己的问题的代码可能更有价值(如果它不可接受,我可以发布我自己的问题).如果可能的话,在python(或java)中使用它会很不错.
提前致谢!
通过观看Christopher Bishops视频(http://videolectures.net/mlss04_bishop_gmvm/),我一直在学习很多关于使用图形进行机器学习的知识.我发现它非常有趣并且在同一类别(机器学习/图表)中观看了其他几个但是想知道是否有人有任何关于学习更多方法的建议?
我的问题是,虽然视频给出了很高的理解,但我还没有太多的实用技巧.我读过关于机器学习/模式的Bishops书以及Norvig的AI书,但两者似乎都没有涉及特定的使用图表.随着搜索引擎和社交网络的出现,我认为图形上的机器学习会很受欢迎.
如果可能,任何人都可以建议学习资源吗?(我是这个领域的新手,开发对我来说是一个爱好,所以如果有一个非常明显的资源需要学习,我很抱歉.我试过谷歌和大学网站).
提前致谢!
algorithm math artificial-intelligence graph-theory machine-learning
python ×5
algorithm ×4
graph-theory ×2
java ×2
mysql ×2
c ×1
c++ ×1
cuda ×1
graph ×1
io ×1
javascript ×1
linux ×1
math ×1
mechanize ×1
pagerank ×1
pandas ×1
spidermonkey ×1
statistics ×1