我正在运行某人的c ++代码来对数据集进行基准测试.我遇到的问题是,我经常得到第一次运行的时间,如果我再次运行相同的代码,这些数字会大幅改变(即28秒到10秒).我认为这是因为CPU的自动缓存.有没有办法刷新缓存,或以某种方式防止这些波动?
我想生成一个矩阵 M,其元素 M(i,j) 来自标准正态分布。一种简单的方法是,
import numpy as np
A = [ [np.random.normal() for i in range(3)] for j in range(3) ]
A = np.array(A)
print(A)
[[-0.12409887 0.86569787 -1.62461893]
[ 0.30234536 0.47554092 -1.41780764]
[ 0.44443707 -0.76518672 -1.40276347]]
Run Code Online (Sandbox Code Playgroud)
但是,我在玩 numpy 时遇到了另一个“解决方案”:
import numpy as np
import numpy.matlib as npm
A = np.random.normal(npm.zeros((3, 3)), npm.ones((3, 3)))
print(A)
[[ 1.36542538 -0.40676747 0.51832243]
[ 1.94915748 -0.86427391 -0.47288974]
[ 1.9303462 -1.26666448 -0.50629403]]
Run Code Online (Sandbox Code Playgroud)
我阅读了的文档numpy.random.normal,它说它没有阐明当传递矩阵而不是单个值时该函数如何工作。我怀疑在第二个“解决方案”中我可能会从多元正态分布中得出。但这不可能是真的,因为输入参数都具有相同的维度(协方差应该是矩阵,平均值是向量)。不确定第二个代码生成了什么。
我有一个文本文件,每行有一个整数序列:
47202 1457 51821 59788
49330 98706 36031 16399 1465
...
Run Code Online (Sandbox Code Playgroud)
该文件有300万行这种格式.我必须将此文件加载到内存中并从中提取5-gram并对其进行一些统计.我确实有内存限制(8GB RAM).我试图最小化我创建的对象的数量(只有1个类,包含6个浮点变量,以及一些方法).并且该文件的每一行基本上生成该类的对象数(与#ofwords中的行的大小成比例).当C++出现时,我开始觉得Java不是一个很好的方法来做这些事情.
编辑:假设每行产生该类的(n-1)个对象.其中n是该行中由空格分隔的标记数(即1457).因此,考虑到每行10个字的平均大小,每条线平均映射到9个对象.所以,会有9*3*10 ^ 6个对象.所以,所需的内存是:9*3*10 ^ 6*(8字节obj标题+ 6 x 4字节浮点数)+(一个map(字符串,对象)和另一个映射(Integer,ArrayList(Objects))).我需要将所有内容保存在内存中,因为之后会发生一些数学优化.
当使用浮点数,即31.14159时,如何设置cout以在浮点上使用setprecision(4):
cout <<setprecision(4)<< 31.14159<<endl; // returns 31.14
Run Code Online (Sandbox Code Playgroud)
按原样,它用整数表示十进制数字,输出:31.14.但是,我想得到:31.1416.
我想知道这里发生了什么,如果实际上我正在正确地连接文件或者正在丢失其中一些文件.因此,我想将文件夹(称为de)中的所有文件(所有txt)捕获到单个txt文件中.这是我的两种方式:
cat de/* >> de_merged_all
du -h de_merged_all
353M de_merged_all
Run Code Online (Sandbox Code Playgroud)
现在,如果我检查文件夹de的大小,我得到:
du -h de
383M de
Run Code Online (Sandbox Code Playgroud)
那么,为什么这些数字不匹配?
我是R 3D绘图的新手。我基本上有一个9x3的矩阵。这是我必须绘制的图:
###loads the above matrix
d2 <- read.csv("data.csv", header=T, dec=".",sep = " ")
###loads x,y,z
x <- c(2,3,4,5,6,7,8,9,10)
y <- c(3,4,10)
z <- as.matrix(d2)
persp(x, y, z,
zlab="Score", ylab = "C", xlab="T",
theta=40, phi=-5, ylim=c(3,10), xlim=c(2,10),
nticks = 5, ticktype = "detailed",
col="springgreen", shade=0.5)
Run Code Online (Sandbox Code Playgroud)
一切都很好,除了我对轴上的刻度不满意。
有没有一种方法可以强制x,和y和z?
例如,有没有办法做这样的事情x.nticks=5,y.nticks=2,z.nticks=7?
编辑:dput(d2)输出:
structure(list(X571.4711426 = c(415.0601344, 398.2104115, 392.3533142,
389.1941271, 388.099164, 387.919963, 387.8443483, 387.808006,
387.8046256), X569.3318221 = c(412.6845238, 396.1001583, 390.6924488,
387.7928128, 386.7903531, …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用awk和对 csv 文件的第二列进行采样(任何数量的样本都可以)rand()。但是,我注意到我总是得到相同数量的样本
cat toy.txt | awk -F',' 'rand()<0.2 {print $2}' | wc -l
Run Code Online (Sandbox Code Playgroud)
我进行了探索,似乎rand()没有按我预期的那样工作。例如,下面的 a 似乎总是 1,
cat toy.txt | awk -F',' 'a=rand() a<0.2 {print a}'
Run Code Online (Sandbox Code Playgroud)
为什么?
我正在发布一个可供公众访问的私有存储库。我需要发布一个特定版本的 repo(我的报告所基于的版本),然后从这个发布的版本中删除所有提交历史。
一个简单的解决方案是先克隆版本,然后从克隆的项目中删除所有 git 足迹并将其作为新项目推送到某个地方。但是我想知道是否有其他更专业的方法来做到这一点。
摆脱字符串中第一个标记的最快方法是什么?到目前为止,我试过这个:
String parentStringValue = this.stringValue.split(" ", 2)[1];
Run Code Online (Sandbox Code Playgroud)
它的内存和速度极低(当15个字长的字符串重复数百万次时).假设字符串由用空格分隔的标记组成.
在bash中有一个单行解决方案,用于将所有以相同整数开头的句子移动到同一个文件(保留它们的顺序)吗?
0 ||| the shortage of snow in mountain stirred hoteliers
....
0 ||| the shortage of snow in mountain stirred hotel
1 ||| the runways deserted pose any problem that operators ski .
...
1 ||| the runways deserted do not pose a problem that operators of ski .
2 |||
...
Run Code Online (Sandbox Code Playgroud)
要将以相同数字开头的行移动到单独的文件0,1,2等中?
抱歉,如果这是题外话。我是一个 java 初学者,知道 java 应该是跨平台一致的。但我想知道我的 jar 文件或 *class 文件在 Ubuntu 上执行的事实是否保证它可以在 MacOS 上正常运行?
我基本上执行以下操作来创建 *class 和 *jar。两个Java类,MAIN.java取决于SIDE.java两者的java文件包括package classes;头部(javac创建一个文件夹名为classes期权和看跌期权MAIN.class,并SIDE.class在那里):
javac -d . SIDE.java MAIN.java
jar cvfe MAIN.jar classes/MAIN classes/*.class
Run Code Online (Sandbox Code Playgroud)
我尝试同时运行:
java classes.MAIN -read number.logs
Run Code Online (Sandbox Code Playgroud)
和
java -jar MAIN.jar -read number.logs
Run Code Online (Sandbox Code Playgroud)
并且它们都在 Ubuntu 上运行良好。这是否足够好并且可以在 MacOS 上运行?(我没有 MacOS,在这种情况下是否有模拟器可以用来检查事情?)
这不应该是这么难,但我被困住了.我有一个以下表格的表格:
| 1 | 2 | 3
------------------------------------
TypeA | 3213 | 2121 | 43
TypeB | 31321 | 321 | 10
TypeC | 332 | 11 | 9
Run Code Online (Sandbox Code Playgroud)
我想生成一条线图,有三条线:每条Type一条,x坐标为"1,2,3",y坐标为数字(3213,...).我按照这里的步骤操作,但不知道如何迭代第一列.