小编Rya*_* K.的帖子

Android - EditText在使用textAllCaps时提供IndexOutOfBounds异常

我正在尝试使用相对布局创建一个非常简单的注册页面.此注册页面链接到名为RegistrationFragment的片段.

我有五个EditText字段用于此布局:名称,电话号码,电子邮件,密码和确认密码.出于某种原因,我可以将文本输入密码并确认密码,但每当我尝试在其他字段中输入任何文本时,它们会立即使用IndexOutOfBounds异常使应用程序崩溃.

这是完整的堆栈跟踪:

java.lang.IndexOutOfBoundsException
        at android.graphics.Paint.getTextRunAdvances(Paint.java:1879)
        at android.text.TextLine.handleText(TextLine.java:747)
        at android.text.TextLine.handleRun(TextLine.java:898)
        at android.text.TextLine.measureRun(TextLine.java:414)
        at android.text.TextLine.measure(TextLine.java:293)
        at android.text.TextLine.metrics(TextLine.java:267)
        at android.text.Layout.getLineExtent(Layout.java:998)
        at android.text.Layout.drawText(Layout.java:329)
        at android.widget.Editor.drawHardwareAccelerated(Editor.java:1380)
        at android.widget.Editor.onDraw(Editor.java:1303)
        at android.widget.TextView.onDraw(TextView.java:5163)
        at android.view.View.draw(View.java:14465)
        at android.view.View.getDisplayList(View.java:13362)
        at android.view.View.getDisplayList(View.java:13404)
        at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3077)
        at android.view.View.getDisplayList(View.java:13300)
        at android.view.View.getDisplayList(View.java:13404)
        at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3077)
        at android.view.View.getDisplayList(View.java:13300)
        at android.view.View.getDisplayList(View.java:13404)
        at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3077)
        at android.view.View.getDisplayList(View.java:13300)
        at android.view.View.getDisplayList(View.java:13404)
        at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3077)
        at android.view.View.getDisplayList(View.java:13300)
        at android.view.View.getDisplayList(View.java:13404)
        at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3077)
        at android.view.View.getDisplayList(View.java:13300)
        at android.view.View.getDisplayList(View.java:13404)
        at android.view.HardwareRenderer$GlRenderer.buildDisplayList(HardwareRenderer.java:1570)
        at android.view.HardwareRenderer$GlRenderer.draw(HardwareRenderer.java:1449)
        at android.view.ViewRootImpl.draw(ViewRootImpl.java:2377)
        at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2249)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1879)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:996)
        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5600)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761)
        at android.view.Choreographer.doCallbacks(Choreographer.java:574) …
Run Code Online (Sandbox Code Playgroud)

android android-edittext android-fragments

44
推荐指数
3
解决办法
9496
查看次数

可以在TensorFlow中使用秩相关作为成本函数吗?

我正在处理极其嘈杂的数据偶尔会充满异常值,所以我主要依靠相关性来衡量我的NN的准确性.

是否有可能明确地使用诸如秩相关(Spearman相关系数)之类的东西作为我的成本函数?到目前为止,我主要依靠MSE作为相关代理.

我现在有三个主要的绊脚石:

1)对于小批量,排名的概念变得更加模糊.

2)你如何动态执行排名?TensorFlow会不会出现梯度误差/无法跟踪重量/偏差的变化如何影响成本?

3)如何确定运行期间正在查看的张量的大小?

例如,如果我只是使用相关性,下面的代码就是我想要大致做的事情.实际上,长度需要传递而不是在运行时确定.

length = tf.shape(x)[1] ## Example code. This line not meant to work.

original_loss =  -1 * length * tf.reduce_sum(tf.mul(x, y)) - (tf.reduce_sum(x) * tf.reduce_sum(y))
divisor = tf.sqrt(
  (length * tf.reduce_sum(tf.square(x)) - tf.square(tf.reduce_sum(x))) *
  (length * tf.reduce_sum(tf.square(y)) - tf.square(tf.reduce_sum(y)))
)
original_loss = tf.truediv(original_loss, divisor)
Run Code Online (Sandbox Code Playgroud)

python tensorflow

5
推荐指数
1
解决办法
1528
查看次数

R:快速对数据帧的子集执行操作,然后在没有内部函数的情况下重新聚合结果

我们有一个非常大的数据框架df,可以按因子分割.在由此拆分创建的数据帧的每个子集上,我们需要执行操作以增加该子集的行数,直到它确定为止length.之后,我们rbind将子集获得更大的版本df.

有没有办法在不使用内部函数的情况下快速完成此操作?

假设我们的子集操作(在单独的.R文件中)是:

foo <- function(df) { magic }

我们想出了几种方法:

1)

df <- split(df, factor)
df <- lapply(df, foo)
rbindlist(df)
Run Code Online (Sandbox Code Playgroud)

2)

assign('list.df', list(), envir=.GlobalEnv) 
assign('i', 1, envir=.GlobalEnv)

dplyr::group_by(df, factor)
dplyr::mutate(df, foo.list(df.col))
df <- rbindlist(list.df)
rm('list.df', envir=.GlobalEnv)
rm('i', envir=.GlobalEnv)

(In a separate file)
foo.list <- function(df.cols) {
    magic; 
    list.df[[i]] <<- magic.df
    i <<- i + 1
    return(dummy)
}
Run Code Online (Sandbox Code Playgroud)

第一种方法的问题是时间问题.lapply只需要太长时间才能真正理想(使用我们的数据集大约一个小时).

第二种方法的问题是篡改用户的全球环境的非常不希望的副作用.它明显更快,但如果可以的话,这是我们宁愿避免的.

我们也试过传递列表并计算变量,然后substitute用父环境中的变量尝试它们(一种破解R的缺乏传递引用).

我们已经研究了一些可能相关的SO问题(R将函数应用于数据框的子集,计算数据框的子集,R:通过引用传递 …

r dplyr

4
推荐指数
1
解决办法
629
查看次数

TensorFlow:如何对张量进行排名?

你好!有没有办法在不使用eval的情况下将Tensor修改为自己的排名版本?

例如,[6,4,5] - > [3,1,2]?

上下文

我有兴趣使用秩相关作为成本函数,我的bandaid解决方案是使用session.run(tensor)来获取numpy值,然后修改它以进行排名相关.

迄今为止的问题是在训练期间权重和偏差没有变化,这使我假设TensorFlow没有计算出有意义的梯度.

我在(500和3e-8)之间的多个值之间改变了我的学习率,看看是不是问题.没有运气,重量和偏见保持不变.

tensorflow

3
推荐指数
1
解决办法
786
查看次数