小编Lia*_*ris的帖子

在以下路径中找不到名为“lab”的模板子目录

我正在运行一个 python azure 函数,它通过nbconvertAPI运行一个 jupyter 笔记本。这已经工作了一段时间,尽管没有部署新代码我开始收到以下错误:

在以下路径中找不到名为“lab”的模板子目录:\n\t/home/.local/share/jupyter\n\t/usr/local/share/jupyter\n\t/usr/share/ jupyter

我用来实现这一目标的代码是:

from nbconvert.preprocessors import ExecutePreprocessor
from nbconvert import HTMLExporter

...

dl = DictLoader({'footer':
"""
{%- extends 'full.tpl' -%}

{% block input_group %}
    {%- if cell.metadata.get('nbconvert', {}).get('show_code', False) -%}
        ((( super() )))
    {%- endif -%}
{% endblock input_group %}
{% block output_group %}
    <style> .output_prompt{visibility:hidden;}</style>
    {{ super() }}
{% endblock output_group %}
"""})

...

html_exporter = HTMLExporter(extra_loaders=[dl], template_file='footer')
html_exporter.template_name = 'classic'
with open(JUPYTER_DIR + NOTEBOOK_NAME) as f:
    nb = nbformat.read(f, as_version=4) …
Run Code Online (Sandbox Code Playgroud)

python jupyter jupyter-notebook azure-functions nbconvert

7
推荐指数
6
解决办法
5600
查看次数

用方法引用替换lambda表达式

我有一个静态方法,它接受参数Stream<Double> stream.来自a arraylist.stream()Arrays.stream(array).

该方法的工作是返回可被三整除的所有整数的总和.

return stream.filter(i -> i.intValue() % 3 == 0).mapToInt(i -> i.intValue()).sum()

此方法有效,但IntelliJ建议如下:

此检查报告lambda,可以用方法引用替换.

我不太熟悉方法引用,尤其是使用类名方案的引用实例方法.

我尝试了下面的错误.

stream.filter(i -> i.intValue() % 3 == 0).mapToInt(Integer::intValue).sum()

有什么建议?

java lambda intellij-idea java-8 method-reference

6
推荐指数
1
解决办法
6921
查看次数

Java 8扩展流<T>

我正在尝试扩展Java 8的Stream实现.

我有这个界面:

public interface StreamStuff<T> extends Stream<T> {

    Stream<T> delegate();
    default Stream<T> biggerThanFour() {
        return delegate().filter(i -> ((Double)i > 4));
    }
}
Run Code Online (Sandbox Code Playgroud)

在我的主要方法:

int arr [] = {1,2,3,4,5,6};

Object array [] = ((StreamStuff)Arrays
            .stream(arr))
            .biggerThanFour()
            .toArray();
Run Code Online (Sandbox Code Playgroud)

我正在尝试将Stream转换为我的接口StreamStuff,并使用我的方法.

我收到以下错误:

线程"main"中的异常java.lang.ClassCastException:java.util.stream.IntPipeline $ Head无法强制转换为StreamStuff

当我这样做时,我得到同样的错误:

StreamStuff ss = (StreamStuff)Arrays.stream(arr);

我想知道这种事情是否可能,如果是这样,我该如何实现这一目标?作为参考,我有点使用这篇文章作为指导.

java casting java-8 java-stream

6
推荐指数
2
解决办法
3470
查看次数

如何确定SteamVR_TrackedObject是Vive Controller还是Vive Tracker

确定a SteamVR_TrackedObject是Vive Controller还是Vive Tracker 的最佳方法是什么?


当0控制器和1个Tacker配对时:

跟踪器作为Controller (right)CameraRig.

当1个控制器和1个Tacker配对时:

Tracker设置为Device 2.

当2个控制器和1个Tacker配对时:

创建第三SteamVR_TrackedObject和将其放置在所述CameraRigobjects阵列.此外,当控制器失去跟踪时,跟踪器也是如此.


在每种情况下,跟踪器最终都是不同的SteamVR_TrackedObject.index.检查a SteamVR_TrackedObject是跟踪器还是查找跟踪器的最佳方法index是什么?

c# unity-game-engine virtual-reality openvr htc-vive

6
推荐指数
1
解决办法
6069
查看次数

如何统一设置自定义检查器字段的初始值

我有两个类似的课程ClassAClassB。这两个类都包含一个布尔值:

在A类中:

[SerializeField]
private bool _overwrite = true;

public bool overwrite
{
    get { return _overwrite; }
    set { _overwrite = value; }
}
Run Code Online (Sandbox Code Playgroud)

B类:

[SerializeField]
private bool _hide = true;

public bool hide
{
    get { return _hide; }
    set { _hide = value; }
}
Run Code Online (Sandbox Code Playgroud)

两个脚本都有一个CustomEditor脚本。在两个编辑器脚本中,OnInspectorGUI()方法内部使用以下两行将相应的布尔值添加到检查器中。

ClassA.overwrite = EditorGUILayout.ToggleLeft("Overwrite", ClassA.overwrite);

ClassB.hide = EditorGUILayout.ToggleLeft("Hide", ClassB.hide);


当我将 ClassA 添加到游戏对象时,“覆盖”字段未被选中,但是当我将 ClassB 添加到游戏对象时,“隐藏”字段被选中。

我不明白有什么不同,或者设置属性的默认/初始值涉及什么其他因素。

理想情况下,我希望默认情况下检查它们。

有什么想法我可能会错过吗?

谢谢你的时间,

利亚姆

c# unity-game-engine

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

默认的 sklearn TfidfVectorizer 预处理器是做什么的?

我正在查看 sklearn 的TfidfVectorizer,特别是preprocessor具有以下文档的输入参数:

“覆盖预处理(字符串转换)阶段,同时保留标记化和 n-gram 生成步骤。”

我试图弄清楚当我不覆盖它时预处理阶段到底会做什么(如果有的话)?

我有一个实验,我使用以下代码查看生成的稀疏矩阵中存储元素的数量:

vectorizer = TfidfVectorizer(stop_words=words, preprocessor=process, ngram_range=(1,1), strip_accents='unicode')
vect = vectorizer.fit_transform(twenty_train.data)
items_stored = vect.nnz
Run Code Online (Sandbox Code Playgroud)
  • 当我不覆盖预处理器时,生成的矩阵存储 1278323 个元素。
  • 当我使用空方法重写预处理器时,生成的矩阵存储 1441372 个元素。
  • 当我使用包含 的方法重写预处理器时s = re.sub("[^a-zA-Z]", " ", s),生成的矩阵存储 1331597 个元素。
  • 我无法通过任何其他处理步骤影响稀疏矩阵的大小(或用于分类时的准确性)。

显然,与默认的 sklearn 结果存在差异,没有预处理,并且我尝试复制预处理步骤。我正在努力寻找有关预处理器默认情况下具体执行的操作的文档。

我还检查了-但是TfidfVectorizer我也无法从这里弄清楚预处理器在做什么。

有谁知道 sklearn 的默认预处理器执行了哪些代码或采取了哪些预处理步骤?

python machine-learning scikit-learn

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

postgresql 中的“@&gt;”符号是什么意思?

我正在开发一个使用 PostgreSQL 数据库的项目。

项目中有几个位置可以构建这样的查询:

query += " AND " + String + " @> " + String;
Run Code Online (Sandbox Code Playgroud)

我不熟悉这个@>符号,目前也没有人在这个项目上工作。也谷歌搜索它不起作用,大概是因为它是一个奇怪的符号。

另外,我不确定这个符号是 postgresql 的东西还是 sql 的东西。

PS应用程序用java编写。

java sql postgresql

2
推荐指数
1
解决办法
737
查看次数