问题标签 [dill]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python 在 ClassB 中更改 ClassA 实例变量
我试图通过 dill 加载整个类实例,而不是一次转储和加载每个类变量。
谁能告诉我如何做到这一点:
所以输出是:
python - Python:莳萝安装问题
我目前正在使用 python 开发一个大型游戏项目,并且刚刚出现了存储我的类的需求。我查看了网络并尝试了 pickle 和 cpickle,但考虑到我的课程结构,它们还不够好。所以我目前正在尝试使用莳萝。我已经使用 pip 安装它,但不知何故我无法使用它...
这是我尝试使用莳萝的代码:
如果需要,CDB 是具有相似属性的类的矩阵我可以在 CDB 中发布每个项目的通用结构
这是我得到的错误:
我知道这可能是一个非常基本的问题,但我真的找不到任何关于它的东西......这是我安装的第一个给我目前使用的麻烦的模块:pillow、pyglet 和 PPlay(来自 pygame )
python - 通过多处理返回二维数组
在下面的代码中,这是我的主要代码示例,我尝试使用它pathos.multiprocessing
来提高循环的迭代速度。使用多处理实现的每次迭代的输出是一个二维数组。我使用pathos.multiprocessing
而不是multiprocessing
因为我想在我的类方法中使用它。我使用apipe
的方法pathos.multiprocessing
将输出收集到一个列表中,但它返回一个空列表。我不知道为什么会失败
有什么建议吗?
python - 多处理-> pathos.multiprocessing 和 windows
我目前正在使用 python 中的标准多处理来生成一堆将无限期运行的进程。我并不特别关心性能。每个线程只是在观察文件系统上的不同变化,并在文件被修改时采取适当的行动。
目前,我有一个在 Linux 中可以满足我需求的解决方案。我有一个函数和参数字典,如下所示:
对于每一个,我创建一个流程:
有了这个,我可以跟踪每个正在运行的任务,并且在必要时重新启动因任何原因崩溃的作业。
这在 Windows 中不起作用。我使用的许多函数都是包装器,使用各种functools
函数,并且我收到有关无法序列化函数的消息(请参阅多处理和 dill 可以一起做什么?)。我还没有弄清楚为什么我在 Linux 中没有出现此错误,但在 Windows 中却出现了。
如果我在 Windows 中启动进程之前导入dill
,我不会收到序列化错误。然而,这些进程实际上并没有做任何事情。我不知道为什么。
然后我切换到 中的多处理实现pathos
,但没有在标准模块中找到简单Process
类的模拟。multiprocessing
我能够使用pathos.pools.ThreadPool
. 我敢肯定,这不是 map 的预期用途,但它启动了所有线程,并且它们在 Windows 中运行:
但是,现在我不确定如何监视线程是否仍然处于活动状态,我正在寻找它以便我可以重新启动由于某种原因而崩溃的线程。有什么建议么?
python - Python 多处理:AttributeError:“测试”对象没有属性“get_type”
短版:
我无法并行化使用实例方法的代码。
更长的版本:
此 python 代码产生错误:
这是我遇到的一个实际问题的简化版本。
由于这里的建议,我正在使用 pathos.multiprocessing: Multiprocessing: Pool and pickle Error -- Pickling Error: Can't pickle <type 'instancemethod'>: attribute lookup __builtin__.instancemethod failed
在使用 pathos.multiprocessing 之前,错误是:
python - 当 sys.path 不同时, dill python 模块是否处理导入模块?
我正在评估莳萝,我想知道这种情况是否得到处理。我有一个案例,我在 python 进程中成功导入了一个模块。我可以使用 dill 进行序列化,然后将该模块加载到具有不同 sys.path 且不包含该模块的不同进程中吗?现在我遇到导入失败,但也许我做错了什么。
这是一个例子。我运行这个脚本,其中 foo.py 模块的路径在我的 sys.path 中:
现在,我在我的 PYTHONPATH 中没有 foo.py 目录的地方运行这个脚本:
此堆栈跟踪失败:
那么,如果我需要在两个进程之间有相同的 python 路径,那么序列化 python 模块有什么意义呢?或者换句话说,通过 dill 加载 foo 比仅仅调用“import foo”有什么优势吗?
python - 用 dill 序列化 SWIG 扩展
最近,我被要求让“我们的 C++ 库在云中工作”。基本上,该库是计算机密集型的(计算价格),所以它是有道理的。我已经构建了一个 SWIG 接口来制作一个 python 版本,并考虑将 MapReduce 与 MRJob 一起使用。我想序列化文件中的对象,并使用映射器,反序列化并计算价格。
例如:
但是现在我走到了死胡同,因为 dill 似乎无法处理 SWIG 扩展:
有没有办法让它正常工作?
python - 为什么 dill 无论如何都会通过引用转储外部类?
在下面的示例中,我将类Foo
放在它自己的模块foo
中。
为什么外部类被 ref 转储?该实例ff
没有与其源代码一起被转储。
我正在使用 Python 3.4.3 和 dill-0.2.4。
好吧,上面的代码实际上是错误的(应该是Foo.y
,而不是y
)。f
在转储实例时更正代码会给我一个异常。
python - 在python中加载对象时出现Pickle错误?
当我尝试在 python 中加载文件时,我从 dill 收到此错误:
有人知道出了什么问题吗?这是我发生错误的一些代码:
python - 加载序列化对象时出现 Dill 内存错误,如何解决?
加载序列化目标文件时出现 dill/pickle 内存错误。我不太确定发生了什么,我不确定如何解决它。当我打电话时:
该代码跟踪到 train_batch_iterator 函数,它在该函数中加载序列化对象并使用对象中的数据训练分类器。这是代码:
这是错误:
我不知道可能出了什么问题。错误似乎在行中minibatch_train = dill.load(stream)
,我唯一能想到的是序列化数据文件太大,但是文件正好是 1161 MB,这似乎不够大/大到导致内存错误。有人知道可能出了什么问题吗?