所有问题
python - 给定一个小写字符串's',返回字符串中仅出现一次的第一个字符的索引
""" 如果每个字符出现多次,则返回 -1。示例输入:s: "Who wants hot watermelon?. 输出:8."""
python-3.x - 深度学习中大数据框的 MemoryError
前言
大家好,
我正在尝试使用StellarGraph包制作几何深度学习模型。对于较小的数据集,它工作得很好,但不幸的是它不能扩展到更大的数据集。有关机器、环境、使用的数据和由此产生的错误的信息如下所示。
机器规格:
- CPU:英特尔酷睿 i5-8350U
- 内存:8GB DDR4
- SWAP:4 GB + 4 GB(在不同的SSD中分为两个交换文件)
- SSD:250 GB + 250 GB(2280 和 2242 NVMe)
环境:
- Linux 5.3.11_1 64 位
- 蟒蛇 3.6.9
使用的数据(从 获取的大小sys.getsizeof()):
- 稀疏块对角矩阵(形状:158,950 x 158,950;大小:56)
- 密集特征矩阵(形状:158,950 x 14,450;大小:9,537,152)
模块:
networkx 2.3numpy 1.15.4pandas 0.25.3scipy 1.1.0scikit-learn 0.21.3stellargraph 0.8.2tensorflow 1.14.0
问题描述
我的目标是创建一种几何深度学习,以根据从静息状态功能 MRI 获得的邻接矩阵对主题进行分类。邻接矩阵假设有 55 个感兴趣区域,从而为所有主题生成 55x55 个矩阵。在构建深度学习模型时,我使用了来自 的谱图卷积网络模型StellarGraph,它以图对象和节点特征作为其输入。我从通过组合来自所有主题的邻接矩阵获得的稀疏块对角矩阵创建了图形对象。而节点特征是每个节点的特征(1个节点有5个特征值),构造成密集块对角矩阵。
以前,我使用人口样本的一个子集(大约 170 个)制作模型。它运行得很好,我认为我可以使用更大的数据集来做同样的事情。不幸的是,使用我MemoryError在注册StellarGraph对象时得到的相同代码。下一节介绍的代码和错误。
代码和错误
很抱歉由于保密原因没有提供sparse.mtx和sparse-feature.mtx归档,但我希望前面关于数据形状和大小的描述可以帮助您理解它的构造。使用上面的代码,python给了我以下错误:
在监控内存消耗时,我观察到 RAM 只使用了其总容量的 55%,并且根本没有使用交换空间。在运行代码时,我只使用了 TTY +tmux和 only vim,top并且python会话正在运行。此外,我还确保没有其他占用内存的进程在后台运行。所以我确定内存瓶颈很可能是由python.
我试过的
为了利用内存消耗,我尝试dask在管理密集feature数据帧时使用。不幸的是,StellarGraph函数只能将 pandas 数组、pandas 数据框、字典、元组或其他可迭代对象作为其输入。
除此之外dask,我还尝试使用稀疏矩阵(因为我的数据集几乎 80% 都是零值的)。但是,它给了我,TypeError因为StellarGraph它不能将稀疏矩阵作为node_features.
我还阅读了几种管理大型数据集的解决方案,这些解决方案(主要)建议将数据迭代解析到 python 会话中。StellarGraph但是,我在这种方法中找不到任何文档。
另一种选择是使用硬件更好的计算机,但遗憾的是,由于资金有限,我无法做到这一点。我是学生,现在买不起更好的机器。
潜在的解决方案
- 升级内存。我会尝试从其他计算机上抢救 RAM,但我目前的最大大小为 16 GB。我不确定这是否足够。
- 使用较小的
feature数据集块。我设法采用了这个解决方案,但模型的准确性真的很差(50-ish %)。
问题
- 为什么
python在没有动态交换分配的情况下只使用我总 RAM 的 55%? - 我应该如何有效地管理大数据框?
MemoryError创建StellarGraph对象时如何处理?- 我实际需要多少内存?32GB就够了吗?
opengl - OpenGL glScissors 坐标系中心
我的问题是我正在尝试调用 glScissors 来切断屏幕绘制区域,但是窗口空间中此函数的坐标系中心位于屏幕的左下角。有没有办法改变中心的原点?我希望该功能相对于屏幕的左上角起作用。
asynchronous - 强制同步循环http请求
我一直在为这段代码苦苦挣扎,我正在寻求帮助。我有一个日期数组,我正在尝试按数组的顺序发出 http 请求并按顺序写入返回信息。
这是我的代码:
c++ - dllexport 类模板实例(专业化),减少仅头文件模板库的编译时间
是否可以导出一些类模板实例,同时让库的用户能够生成给定类模板的其他特化(编译可执行文件时)。
鉴于我有一个公共标头
通过这种声明类模板的方式,Foo每个实例化都将发生在用户的可执行文件中。
但是,如果我定义Foo为dllexport/dllimport使用API宏,则其每个Foo特化都没有在 dll 中显式实例化,将无法链接。
那么,是否可以强制编译器在导出一个类模板实例时链接到现有的类模板实例,并生成另一个没有的类模板实例。
更新
我找到了解决方案,请参阅下面的答案。我留下旧的更新,以防有人会发现 SFINAE 的这种用法有帮助。
更新旧
我发现了一个涉及 SFINAE 的繁琐解决方案,但它导致定义一个类模板两次,因此非常容易出错。我不知道它是否可以用宏包裹起来,这样就可以只写一次。
javascript - 如何在 React Native 的右下角放置浮动操作按钮
我试图在我的应用程序的右下角放置一个浮动操作按钮,但它被放置在屏幕的左上角。
返回视图:
款式:
我当前的视图显示标题和底部选项卡视图。我可以在每个选项卡屏幕中放置多个 FAB,但这会产生不良行为。感谢您的任何帮助。
编辑: 我有什么:

我想要的是:

html - 跨行和列连接表格中的某些单元格
我该怎么做,这可能吗?
请尝试一些愚蠢的白痴,我无法更好地描述它
svelte - 使用汇总的 sapper 客户端构建中的外部和全局变量
rollup使用支持外部和全局构建。
我们可以在代码中导入一个模块,并说它是外部的,然后rollup不将它包含在包中。
如果我们将全局赋予它,它会将导入结果“设置”为umd包中的全局。
但是在使用时做同样的事情sapper将模块保持为外部,然后服务器构建正常工作,但客户端构建没有考虑全局变量,而是尝试在浏览器中执行“导入”,并且失败,使用 TypeError ,
': 无法解析模块说明符“...”'。
是否可以在客户端构建中将库保持为外部sapper,并指示它使用全局而不是导入?或者我在这里弄错了一些非常基本的东西?
python - Python value_count() 逻辑运算符
所以,我需要用户 id > 1 的人数,但它会给出真假结果。
而不是真假,我只需要用户ID出现> 1次的用户数量
希望我说得通?
java - Android MVVM 架构和观察来自 API 的数据变化
我是 Android MVVM 架构的新手。我有一个在本地运行的 API,其中包含数据(“交易”)。我想简单地向 API 发出请求并在文本字段中显示该数据。目前,首次加载片段时数据不会显示,但如果我转到另一个活动然后返回它加载的片段。
这里有 3 类重要性。
仪表板视图模型.java:
仪表板片段.java:
和 Repository.java:
单步执行 Repository 类中的代码时,我可以看到setDeals()加载片段时调用了该代码,并且回调中的请求已排队。第一次getDeals()返回时,它返回一个包含 0 个交易的列表(在MutableLiveData对象内)。
onResponse在片段已经加载之前,回调不会运行。调试时,我可以看到数据在对象中(所有 Gson 东西都可以正常工作),但onChanged不会再次被调用(设置文本视图)。
我没有观察到deals正确的变化吗?
python-3.x - 元组索引超出范围 - 训练音频模型
我正在尝试分析音频文件并根据提取的特征训练系统,但在拟合模型时出现错误,提示“元组索引超出范围”。我在打印语句旁边的注释中提供了我正在使用的所有数组的形状。你能帮我理解在定义模型时如何定义尺寸吗?
如果需要更多详细信息,请告诉我。
- - - - - - - - - -错误 - - - - - - - - - - - - - - - ----------------------
spring - Spring中如何实现客户端之间的非实时聊天
我想了解在两个客户端之间实现一个非常简单的消息交换系统的最佳方法是什么,使用 Spring Boot 作为后端,AngularJS 作为前端。
我是 Spring 的新手,我正在研究它并将其用于大学项目。
假设我的项目是一种简化的电子商务。我想基于简单文本消息的交换在两个客户端(例如,像 eBay 上的消息系统)之间创建“对话”。如果其中一个客户端没有连接,他必须能够检索在他离线时收到的消息。
我遇到了几个教程和指南,但其中大多数都解释了如何创建一个实时“聊天室”,这不是我想要的。
我想就最佳路径(JMS、WebSocket ...)以及原因提出一些建议。
提前致谢!
laravel - Laravel Homestead/Vagrant 盒子卡在盒子上:计算和比较盒子校验和
我正在建立一个现有的 Laravel 项目,并且无法通过添加宅基地框。
指令是:vagrant box add laravel/homestead
它经历了 5-10 分钟的过程,然后在box: Calculating and comparing box checksum...
我在 Linux Mint 18.3 上,并使用最新的 virtualbox(6.0.14) 和多个版本的 vagrant 2.2.2、2.2.4 和 2.2.6(最新)尝试了这些说明。
对于 2.2.6 与其他版本,我得到不同的错误。对于 2.2.6 我得到
/opt/vagrant/embedded/gems/2.2.6/gems/vagrant-2.2.6/lib/vagrant/util/file_checksum.rb:65:in 'load_digest': uninitialized constant FileChecksum::Errors (NameError)
对于其他版本,我收到一条红色警告,指出:
The specified checksum type is not supported by Vagrant: .
Vagrant supports the following checksum types:
md5, sha1, sha256
我对 Vagrant 不太熟悉,也不知道如何解决这个问题。也没有太多关于这个特定问题的信息,所以任何帮助表示赞赏。
python - 在python中对文本文件中的值进行排序
我正在开发一款游戏,我需要为其添加排行榜。我编写了一个允许用户添加高分、查看高分和删除所有高分的代码。现在我需要按照从高到低的顺序对所有分数进行排序。这是我目前的代码[注意:我知道这不是最好的菜单,但我稍后会更改]:
一旦订购了这样的东西,我希望显示排行榜:
感谢您的阅读!
jquery - 成功提交后引导 4 清除/重置验证
我使用Bootstrap 4来验证“联系我”表单。
成功提交表单后,我将其重置为$('#contactForm').trigger("reset");清除输入字段,但这些字段仍被标记为已验证(验证图标和绿色边框仍然存在)。
这会导致问题,因为我仅在验证所有输入后才启用提交按钮,并在提交后禁用它。但由于输入仍标记为“有效”,因此任何字段中的任何有效条目都将启用按钮,即使其他字段为空(所有字段均为“必填”)。
请告知如何在提交表格后清除验证。谢谢!
重要提示:
我使用Bootstrap 4。不是 3. 我之所以提到它,是因为我在 SO 和其他地方经历了几十个条目,大多数答案都指bootstrap.validator 哪一个不是我的情况!
再次感谢。
我的html:
我的脚本:
javascript - 在javascript的另一个文本框中找不到两个日期之间的区别
我的日期格式是 dd/mm/yyyy 并计算这种格式
这里有一个脚本
github - 如何删除我的 github 存储库中不必要的文件夹?
如何删除我的 github 存储库中不必要的文件夹?以下是我需要从中删除文件夹的 github 存储库:https ://github.com/tux-superman/VitekSky
html - 为什么我的悬停命令没有穿过整个栏?浅蓝色应该穿过整个酒吧,而不是那么多
为什么我的鼠标悬停没有穿过整个侧边栏?我需要侧边栏悬停才能穿过整个侧边栏,而不仅仅是一点点。我将如何解决这个问题?
c# - 在 C# 中将 2 个文本框转换为 1 个变量以进行身高和体重转换
我正在创建一个需要身高和体重的程序。高度必须以英尺和英寸计算,重量必须以石头和磅计算。这需要 2 个文本框。
我的问题是如何让文本框变成 1 个变量?
python - 内连接两个查询集
我有三个模型 Learner,Level和直通模型LearnerLevel。
模型如下所示:
表格如下所示:
我的第一个问题是,如何使用 Django 实现以下目标?
我的目标是获得一个新的查询集,我可以从 django-rest-framework 的 get_queryset 函数中将其提供给模型视图。我的第二个问题是,这是好的做法吗?
我想要这样的东西:
例如,学习者从 id 为 1 2 3 的级别学习。现在在 learnerlevel 中,knownWords 更改了 level_id 为 1 2 3 的位置。现在我想给用户一个统计信息。"你从level.name中学到了level.countWords的learnerlevel.knownWords "
从 Django 文档中我不清楚
========== 编辑 ==========
我试过了
我明白了
但当
str(LearnerLevel.objects.select_related('level').values().query)
我明白了
但我只想要learnerlevel.knownWords,level.countWords,level.name
如果我做
然后
是
但我希望它是
======解决方案======
我找到了解决方案
并且序列化器是
谢谢丹尼斯·科内尔。你的建议帮助了我
xslt - xsl:for-each-group 不按异常工作
我必须将 p 中的 XML 标记转换为单独的 div,但我无法做到:
XML:
XSLT:
电流输出:
异常输出:
php - 打印对象未在 PHP 中触发错误
根据我正在阅读的书,print未实现的 ing 对象__toString()应该会引发错误:
当我尝试这样做时,我收到一条消息Process finished with exit code 255,但没有描述性错误。我正在使用 PhpStorm。
我应该启用一个开关来接收错误吗?
eclipse - 无法将远程调试器附加到 Eclipse OSGi 应用程序
我正在尝试使用 Intellij IDEA 的远程运行配置远程调试 Eclipse (OSGi) 应用程序。不幸的是,每次我在 Eclipse 中运行应用程序时,应用程序都不会等待远程连接,而且我无法将远程调试器附加到它。
我通过将以下参数添加到Run > Run Configurations... > Eclipse Application > Arguments来配置 Eclipse 运行配置:-agentlib:jdwp=transport=dt_socket,address=5005,server=y,suspend=y。
当我在 Eclipse 中运行配置时,应用程序会立即启动,而不是 JVM 等待远程连接,即使我定义了suspend=y参数。如果我尝试运行 Intellij 远程配置,它会给出以下消息:Unable to open debugger port (localhost:6000): java.net.ConnectException "Connection refused: connect".
我还尝试让 Eclipse 应用程序附加(而不是监听)到 Intellij IDEAs 远程调试器,但它也没有工作(应用程序没有尝试连接到远程调试器)。
下图显示了运行配置:

其他信息:
- 操作系统: Windows 10
- Eclipse:用于 Eclipse 提交者的 Eclipse IDE 2019-09 R (4.13.0)
- Intellij IDEA: 2019.3
oop - 如何从 Tcl 的超类中访问派生类的成员变量?
代码:
输出:
是否可以从 Supe 的构造函数中获取 Clark 的成员变量列表而不将它们作为参数传递给 Supe?
最终,目标是从 dict 参数动态设置派生类变量:
如果上面的代码可以用在超类的构造函数中,就可以避免把它放在每个派生类的构造函数中。
