我有一个装饰器@pure,将其注册为纯函数,例如:
@pure
def rectangle_area(a,b):
return a*b
@pure
def triangle_area(a,b,c):
return ((a+(b+c))(c-(a-b))(c+(a-b))(a+(b-c)))**0.5/4
Run Code Online (Sandbox Code Playgroud)
接下来,我要确定一个新定义的纯函数
def house_area(a,b,c):
return rectangle_area(a,b) + triangle_area(a,b,c)
Run Code Online (Sandbox Code Playgroud)
显然house_area是纯函数,因为它仅调用纯函数。
如何自动发现所有纯函数(也许使用ast)
我一直在探索 NLP 技术,目的是确定调查评论的主题(然后将其与情感分析结合使用)。我想要发表高水平的声明,例如“10% 的调查受访者对客户经理做出了积极评价(+情绪)”。
\n\n我的方法使用了命名实体识别(NER)。现在,我正在处理真实的数据,我开始了解与识别句子主语相关的一些复杂性和细微差别。以下是主语为客户经理的 5 个句子示例。出于演示目的,我已将命名实体以粗体显示。
\n\n我发现三个挑战增加了我的任务的复杂性
\n\n其中同义词问题是最常见的问题,其次是歧义问题。根据我所看到的,缩写问题在我的数据中并不常见。
\n\n是否有任何 NLP 技术可以帮助以相对较高的置信度处理这些问题?
\n我试图掌握Bayesain统计数据 pymc3
我运行此代码进行简单的线性回归
#Generating data y=a+bx
import pymc3
import numpy as np
N=1000
alpha,beta, sigma = 2.0, 0.5, 1.0
np.random.seed(47)
X = np.linspace(0, 1, N)
Y = alpha + beta*X + np.random.randn(N)*sigma
#Fitting
linear_model = pymc3.Model()
with linear_model:
alpha = pymc3.Normal('alpha', mu=0, sd=10)
beta = pymc3.Normal('beta', mu=0, sd=10)
sigma = pymc3.HalfNormal('sigma', sd=1)
mu = alpha + beta*X
Y_obs = pymc3.Normal('Y_obs', mu=mu, sd=sigma, observed=Y)
start = pymc3.find_MAP(fmin=optimize.fmin_powell)
step = pymc3.NUTS(scaling=start)
trace = pymc3.sample(500, step, start=start)
Run Code Online (Sandbox Code Playgroud)
我不明白跟踪代表什么
如果我理解的贝叶斯理论不够好,有应该是一个belief即得功能alpha, …
我试图用tensorflow实现一个基于窗口的分类器,
单词嵌入矩阵被调用word_vec并随机初始化(我也试过Xavier).
并且ind变量是来自矩阵的词向量的索引的向量.
第一层是config['window_size'](5)连接的单词向量.
word_vecs = tf.Variable(tf.random_uniform([len(words), config['embed_size']], -1.0, 1.0),dtype=tf.float32)
ind = tf.placeholder(tf.int32, [None, config['window_size']])
x = tf.concat(1,tf.unpack(tf.nn.embedding_lookup(word_vecs, ind),axis=1))
W0 = tf.Variable(tf.random_uniform([config['window_size']*config['embed_size'], config['hidden_layer']]))
b0 = tf.Variable(tf.zeros([config['hidden_layer']]))
W1 = tf.Variable(tf.random_uniform([config['hidden_layer'], out_layer]))
b1 = tf.Variable(tf.zeros([out_layer]))
y0 = tf.nn.tanh(tf.matmul(x, W0) + b0)
y1 = tf.nn.softmax(tf.matmul(y0, W1) + b1)
y_ = tf.placeholder(tf.float32, [None, out_layer])
cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(y1), reduction_indices=[1]))
train_step = tf.train.AdamOptimizer(0.5).minimize(cross_entropy)
Run Code Online (Sandbox Code Playgroud)
这就是我运行图表的方式:
init = tf.global_variables_initializer()
sess = tf.Session()
sess.run(init)
for i in range(config['iterations'] ):
r = …Run Code Online (Sandbox Code Playgroud) 我正在运行此命令:
hadoop jar hadoop-streaming.jar -D stream.tmpdir=/tmp -input "<input dir>" -output "<output dir>" -mapper "grep 20151026" -reducer "wc -l"
Run Code Online (Sandbox Code Playgroud)
哪个<input dir>目录有很多avro文件.
并收到此错误:
线程"main"中的异常java.lang.OutOfMemoryError:在org.apache.hadoop.hdfs.protocol.DatanodeID上的org.apache.hadoop.hdfs.protocol.DatanodeID.updateXferAddrAndInvalidateHashCode(DatanodeID.java:287)中超出了GC开销限制. (DatanodeID.java:91)在org.apache.hadoop.hdfs.protocol.DatanodeInfo.(DatanodeInfo.java:136)在org.apache.hadoop.hdfs.protocol.DatanodeInfo.(DatanodeInfo.java:122)在有机apache.hadoop.hdfs.protocolPB.PBHelper.convert在org.apache.hadoop.hdfs.protocolPB(PBHelper.java:633)在org.apache.hadoop.hdfs.protocolPB.PBHelper.convert(PBHelper.java:793). PBHelper.convertLocatedBlock(PBHelper.java:1252)在org.apache.hadoop.hdfs.protocolPB.PBHelper.convert(PBHelper.java:1270)在org.apache.hadoop.hdfs.protocolPB.PBHelper.convert(PBHelper.java: 1413)在org.apache.hadoop.hdfs.protocolPB.PBHelper.convert(PBHelper.java:1524)在org.apache.hadoop.hdfs.protocolPB.PBHelper.convert(PBHelper.java:1533)在org.apache.hadoop .hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.getL 在sun.reflect.GeneratedMethodAccessor3.invoke(未知来源)的sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java: 601)atg.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:187)位于com.sun.proxy的org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:102)位于org.apache.hadoop.hdfs.DFSClient.listPaths(DFSClient.java:1969)的org.apache.hadoop.hdfs.DistributedFileSystem $ DirListingIterator.hasNextNoFilter(DistributedFileSystem.java:888)处的$ Proxy15.getListing(未知来源)at org.apache.hadoop.hdfs.DistributedFileSystem $ DirListingIterator.hasNext(DistributedFileSystem.java:863)位于org.apache.hadoop.mapred.FileInputFormat的org.apache.hadoop.mapred.FileInputFormat.singleThreadedListStatus(FileInputFormat.java:267). org.apache.hadoop.mapred.FileIn中的listStatus(FileInputFormat.java:228)org.apache.hadoop.mapreduce.JobSubmitter.writeOldSplits(JobSubmitter.java:624)的putFormat.getSplits(FileInputFormat.java:313)org.apache.hadoop.mapreduce.JobSubmitter.writeSplits(JobSubmitter.java:616)at org .apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:492)在org.apache.hadoop.mapreduce.Job $ 10.run(Job.java:1296)在org.apache.hadoop.mapreduce.Job $ 10.run (Job.java:1293)位于javax.security.auth.Subject.doAs的java.security.AccessController.doPrivileged(Native Method)(Subject.java:415)
如何解决这个问题?
我想减少每个减速器的记录数量,并将结果变量保留为rdd
使用takeSample似乎是显而易见的选择,但是,它返回一个collection而不是一个SparkContext对象。
我想出了这个方法:
rdd = rdd.zipWithIndex().filter(lambda x:x[1]<limit).map(lambda x:x[0])
Run Code Online (Sandbox Code Playgroud)
然而,这种方法非常慢并且效率不高。
有没有更聪明的方法来获取小样本并保持数据结构rdd?
但是,如果你停下来思考它,没有什么可以阻止你除以零或耗尽内存.
什么elm编译器基本上没有,强迫你以涵盖所有可能的路径,可导致异常.
例如:
import String exposing (toInt)
toIntOrZero s = case toInt s of
Err e -> 0
Ok val -> val
Run Code Online (Sandbox Code Playgroud)
但这与臭名昭着的 "检查例外"功能java有何不同?
public static Integer toIntOrZero(String s) {
try { return Integer.valueOf(s); }
catch (NumberFormatException e) { return 0; }
}
Run Code Online (Sandbox Code Playgroud)
我从来没有听说过任何java零运行时异常语言.
我有一个数组:
$TaxIds=array(2) { [0]=> string(1) "5" [1]=> string(2) "10" }
Run Code Online (Sandbox Code Playgroud)
我需要转换为:
$TaxIds=array(2) { [0]=> int(5) [1]=> int(10) }
Run Code Online (Sandbox Code Playgroud)
简单的方法???
我想从给定的URL中删除"&start = 2".这是我试过的:
$uri = "http://test.com/test/?q=Marketing&start=2";
$newuri = str_replace("&start=","",$url);
echo $newuri;
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用webRTCphp 作为服务器端实现单向语音传输。
查看样本,我无法理解其webRTC机制。
在我看来,流程应该是这样的:
但是示例代码,(在本地机器上运行)
function call() {
trace('Starting call');
var servers = null;
var pcConstraints = {
'optional': []
};
pc1 = new RTCPeerConnection(servers, pcConstraints);
trace('Created local peer connection object pc1');
pc1.onicecandidate = iceCallback1;
pc2 = new RTCPeerConnection(servers, pcConstraints);
trace('Created remote peer connection object pc2');
pc2.onicecandidate = iceCallback2;
pc2.onaddstream = gotRemoteStream;
trace('Requesting local stream');
navigator.mediaDevices.getUserMedia({
audio: true,
video: false
})
.then(gotStream)
.catch(function(e) { …Run Code Online (Sandbox Code Playgroud) 我得到了一个
注意:使用未定义的常量ord - 假设'ord'
在线
array_map(ord,str_split($string))
Run Code Online (Sandbox Code Playgroud)
这是令人惊讶的,因为ord是一个PHP功能
如果我要将呼叫重写为:
array_map(function ($x) {return ord($x);},str_split($string))
Run Code Online (Sandbox Code Playgroud)
代码无需任何警告/通知即可运行
知道为什么会这样吗?