我有一个大的Oracle表,其中包含542512行.它有三列,当我尝试使用以下命令为它创建索引时:
CREATE INDEX FTS_INDEX ON FILTERED_TEKLI_IIS_TABLOSU (ilAdi,ilceAdi,caddeAdi)
Run Code Online (Sandbox Code Playgroud)
Oracle给出以下错误:
SQL Error: ORA-01652: unable to extend temp segment by 128 in tablespace SYSTEM
01652. 00000 - "unable to extend temp segment by %s in tablespace %s"
*Cause: Failed to allocate an extent of the required number of blocks for
a temporary segment in the tablespace indicated.
*Action: Use ALTER TABLESPACE ADD DATAFILE statement to add one or more
files to the tablespace indicated.
Run Code Online (Sandbox Code Playgroud)
我搜索了这个错误,发现当执行诸如连接表,在大型表上创建索引等操作时,Oracle没有足够的空间来存储中间数据.但我没有找到明确的解决方案.这些ALTER TABLESPACE和ADD DATAFILE命令似乎可以完成这项工作,但我不知道如何调用这些以及使用哪些参数.任何帮助,将不胜感激.
我知道CUDA GPU上有多处理器,其中包含CUDA核心.在我的工作场所,我使用的是GTX 590,它包含512个CUDA内核,16个多处理器,其warp大小为32.因此,这意味着每个多处理器中有32个CUDA内核,它们在同一个warp中完全相同的代码.最后,每块大小的最大线程数为1024.
我的问题是块大小和多处理器数量 - warp大小是如何完全相关的.让我告诉我对情况的理解:例如,我在GTX 590上分配了最大threadPerBlock大小为1024的N个块.据我从CUDA编程指南和其他来源的理解,这些块首先由硬件枚举. .在这种情况下,来自N个块的16被分配给不同的多处理器.每个块包含1024个线程,硬件调度程序将32个这些线程分配给单个多处理器中的32个核心.同一多处理器(warp)中的线程处理代码的同一行,并使用当前多进程的共享内存.如果当前的32个线程遇到像存储器读写这样的片外操作,则它们将替换为来自当前块的另一组32个线程.所以,实际上有32个线程,其中在单个块恰好在任何给定时间并行运行在多处理器,而不是整个的1024的最后,如果一个块完全被多处理器中,从一个新的线程块处理N个线程块的列表插入到当前的多处理器中.最后,在执行CUDA内核期间,GPU中总共有512个并行运行的线程.(我知道如果一个块使用的寄存器多于单个多处理器上可用的寄存器,那么它被分成两个多处理器,但我们假设在我们的情况下每个块可以适合单个多处理器.)
那么,我的CUDA并行执行模型是否正确?如果没有,有什么不对或缺失?我想微调我正在处理的当前项目,所以我需要最正确的工作模型.
我想构建一个TextViews的动画,它在完成后重复.
对于我想要动画的每个视图,我使用以下代码
final float oldX = v.getX();
final float newX = v.getX() - (float)totalWidth;
final AnimatorListenerAdapter listener = new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
v.setX(oldX);
animFinished = true;
//This line won't compile
//v.animate().setDuration(animDuration).setInterpolator(newsInterpolator)
// .setListener(listener).x(newX);
}
};
v.animate().setDuration(animDuration).setInterpolator(newsInterpolator)
.setListener(listener).x(newX);
Run Code Online (Sandbox Code Playgroud)
我试图将最后一段代码放入onAnimationEnd,但Java不会编译,因为它认为对象监听器没有初始化.而且,我不认为这种"递归"动画调用是一个很好的解决方案,这是我想到的第一件事.我怀疑有一种简单而有效的方法来实现循环属性动画,但是我找不到它,所以我转过来寻求帮助.
提前致谢
我有一个大型Oracle数据库表,其中包含整个国家/地区的街道名称,其中包含600000多行.在我的应用程序中,我将地址字符串作为输入,并想检查此地址字符串的特定子字符串是否与表中的一个或多个街道名称匹配,以便我可以将该地址子字符串标记为街道的名称.
显然,这应该是一个模糊的文本匹配问题,我查询的子字符串与DB表中的街道名称完全匹配的可能性很小.所以应该有某种模糊文本匹配方法.我正在尝试阅读http://docs.oracle.com/cd/B28359_01/text.111/b28303/query.htm中的Oracle文档,其中解释了CONTAINS和CATSEARCH搜索运算符.但这些似乎用于更复杂的任务,例如在文档中搜索给定字符串的匹配项.我只是想为表的一列做这件事.
在这种情况下,您对我的建议是什么,Oracle是否支持这种模糊文本匹配查询?
我有两个活动,我希望当用户触摸第一个活动上的按钮时,新活动从左侧滑入并向右移动,而第一个活动执行相同操作,它向右移动并滑出,所以它会产生一种效果,即新活动将旧活动推向右边并替换它.
为此,我编写了以下XML:
在动画中
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="-100%"
android:toXDelta="0"
android:duration="1250" />
</set>
Run Code Online (Sandbox Code Playgroud)
出动画
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="0"
android:toXDelta="-100%"
android:duration="1250" />
</set>
Run Code Online (Sandbox Code Playgroud)
我overridePendingTransition(R.anim.anim_in,R.anim.anim_out);
在新活动的onCreate方法中调用该函数.在产生的效果中,新活动从左向右正确移动,但第一个较旧的活动向相反方向移动; 它向左移动.我想恢复第一次活动的移动方向.我怎么能这样做,是否有一个XML属性用于此目的?
animation android transition android-animation android-activity
我有一个应用程序,它有一个算法,用 CUDA 加速。它还有一个标准的 CPU 实现。我们计划为各种平台发布此应用程序,因此大多数时候,不会有 NVIDIA 卡来运行加速的 CUDA 代码。我想要的是首先检查用户的系统是否有启用 CUDA 的 NVIDIA 卡,如果有,则在之后初始化 CUDA 运行时。如果系统不支持CUDA,那么我想执行CPU路径。这个问题与我的非常相似,但我不想使用普通 CUDA 运行时以外的任何其他库。OpenCL 是一种替代方法,但没有足够的时间为第一个版本实现算法的 OpenCL 版本。如果没有任何 CUDA 存在检查,程序肯定会崩溃,因为它找不到 CUDA 运行时所需的 .dll,我们肯定不希望那样。所以,我需要关于如何处理这个初始化步骤的建议。
我需要实现一个自定义的 View 对象,它扩展了 TextView 并支持缩放文本的双指缩放和滚动。Android 文档说 TextView 类可以在不需要 ScrollView 容器的情况下处理自己的滚动,但我未能实现这种行为。我的自定义 TextView 将有一个固定的框架,通常将在其中显示的文本垂直大于框架。如果我们缩放文本,文本也会在水平方向上变大。我发现的大多数示例都在 ScrollView 中使用了 TextView,但如果可能的话,我特别想仅使用我的 TextView 扩展类来执行此操作。
提前致谢
我有一个自定义类,是从扩展的ScrollView
。我想要做的是用此类实现捏缩缩放,我想用它缩放到ScrollView
的子级,并根据需要滚动缩放的内容。基本上,我希望获得与UIScrollView
iOS类相同的行为(这是一个SHAME,Android不提供任何内置的缩放功能,如iOS,我们必须从头开始编写所有内容)。我ScaleGestureListener
在班级内部,并ScrollView
在收到onScale
事件时在内更新子视图的布局尺寸:我将布局宽度和高度乘以从中收到的比例因子ScaleGestureListener
。令我困扰的是ScrollView不会根据其子级的新尺寸来更新其滚动条。例如,如果子级的宽度大于的宽度ScrollView
,则不会显示水平滚动条。我打电话invalidate
和requestLayout
上都滚动视图和它的孩子,但他们失败了。
在下面,我给出我的代码:
public class PinchZoomScrollView extends ScrollView{
private ScaleGestureDetector mScaleDetector;// = new ScaleGestureDetector(context, new ScaleListener());
private float mScaleFactor = 1.0f;
private float referenceTextSize;
private static final float MIN_ZOOM_AMOUNT = 1.0f;
private static final float MAX_ZOOM_AMOUNT = 2.0f;
private float refChildWidth;
private float refChildHeight;
private boolean shownForTheFirstTime = true;
//private View content;
private class ScaleListener extends ScaleGestureDetector.SimpleOnScaleGestureListener {
private …
Run Code Online (Sandbox Code Playgroud) 在 Tensorflow 中,SAME 填充旨在通过在输入中适当填充零来产生与输入相同大小的输出,给定步长 = 1。对于奇数大小的内核,例如 5x5,它将内核 (2,2) 的中心放在输入 (0,0) 的第一个像素上并开始卷积。在 x 和 y 坐标中,都需要 2 个像素的零填充。
如果使用偶数内核,例如 6x6,会怎样?它不会将像素的中心作为其实际中心。VALID padding 如何处理这个问题?例如,根据具有偶数大小内核的图像卷积,一般图像处理文献中的约定是在零之前再放置一个像素,就像-3 -2 -1 0 1 2
在这种情况下一样。填充区域将命中三个像素。我为此参考了 Tensorflow 文档,但找不到明确的答案。
根据我在CUDA方面的经验,我最喜欢使用带有CUDA数组引用的纹理内存,因为它具有2D / 3D空间缓存机制,并且大多数时候我的输入数据可以安排为2D纹理。现在我有一个问题,我可以同时将输入建模为线性数组和2D纹理。(顺便说一句,当我谈论纹理内存时,我总是指将其与2D CUDA数组引用一起使用。)我知道,在使用常规全局内存时,合并的访问模式非常重要。如果warp中的线程读取的基本地址与64字节边界对齐的连续地址,则可以通过单个内存访问(合并访问)为整个warp服务。我想知道,合并的访问模式对于纹理存储是否也很重要。我认为不应该 因为纹理存储的目的是不同的;据我所知,它针对彼此接近的2D / 3D访问进行了优化,并且使用所需的像素以及周围的一些行和列来更新纹理缓存。因此,我认为2D纹理存储器中连续的行访问模式将无济于事,相比之下,它可能会污染周围行列数据的纹理缓存并降低性能。无论如何,这只是我阅读了《编程指南》和其他资源后的想法,并且我想确定一下:合并的访问模式对纹理内存是否很重要,就像在常规全局内存中一样?据我所知,它针对彼此接近的2D / 3D访问进行了优化,并且使用所需的像素以及周围的一些行和列来更新纹理缓存。因此,我认为2D纹理存储器中连续的行访问模式将无济于事,相比之下,它可能会污染周围行列数据的纹理缓存并降低性能。无论如何,这只是我阅读了《编程指南》和其他资源后的想法,并且我想确定一下:合并的访问模式对纹理内存是否很重要,就像在常规全局内存中一样?据我所知,它针对彼此接近的2D / 3D访问进行了优化,并且使用所需的像素以及周围的一些行和列来更新纹理缓存。因此,我认为2D纹理存储器中连续的行访问模式将无济于事,相比之下,它可能会污染周围行列数据的纹理缓存并降低性能。无论如何,这只是我阅读了《编程指南》和其他资源后的想法,并且我想确定一下:合并的访问模式对纹理内存是否很重要,就像在常规全局内存中一样?相反,它可能会用周围的行列数据污染纹理缓存,并降低性能。无论如何,这只是我阅读了《编程指南》和其他资源后的想法,并且我想确定一下:合并的访问模式对纹理内存是否很重要,就像在常规全局内存中一样?相反,它可能会用周围的行列数据污染纹理缓存,并降低性能。无论如何,这只是我阅读了《编程指南》和其他资源后的想法,并且我想确定一下:合并的访问模式对纹理内存是否很重要,就像在常规全局内存中一样?
我在C#中有以下代码,其中vector是一个[string,double]类型的Dictionary.I想要将此字典中的所有值除以一个值"magnitude".现在,我天真的第一个代码如下:
foreach (var key in vector.Keys)
{
vector[key] = vector[key] / magnitude;
}
Run Code Online (Sandbox Code Playgroud)
这引发了一个例外,称该集合已在foreach中进行了修改.我可以创建第二个字典来将结果值写入,但我不想这样.
有没有更简单的方法,例如通过使用操作所有字典值的方法,如下所示?
vector.Values().Aggreagate(), vector.Values().Average()
Run Code Online (Sandbox Code Playgroud) 我试图使用正则表达式从C#中的较长单词中提取一些alfanumeric表达式.例如,我有"FooNo12Bee"这个词.我使用以下正则表达式代码,它返回两个匹配项,"No12"和"No"作为结果:
alfaNumericWord = "FooNo12Bee";
Match m = Regex.Match(alfaNumericWord, @"(No|Num)\d{1,3}");
Run Code Online (Sandbox Code Playgroud)
如果我使用下面的表达式,没有paranthesis,没有任何替代"No",它按照我期望的方式工作,它只返回"No12":
alfaNumericWord = "FooNo12Bee";
Match m = Regex.Match(alfaNumericWord, @"No\d{1,3}");
Run Code Online (Sandbox Code Playgroud)
这两个表达式之间有什么区别,为什么使用paranthesis导致"No"的冗余结果?
android ×4
cuda ×3
animation ×2
c# ×2
memory ×2
oracle ×2
pinchzoom ×2
scrollview ×2
sql ×2
textures ×2
caching ×1
cpu ×1
database ×1
dictionary ×1
fuzzy-search ×1
gpgpu ×1
gpu ×1
matlab ×1
matrix ×1
nvidia ×1
python ×1
regex ×1
scroll ×1
tensorflow ×1
textview ×1
transition ×1
zero-padding ×1