pickle相关内容

尝试创建同一类的多个实例时,无法腌制 _tkinter.tkapp 对象错误

因为这个问题,我变得非常沮丧.我以前有过它,我修复了它,但是当我更改代码中的某些内容时它又回来了.准确地说,当我按下一个按钮时,我试图创建一个类的多个实例.我在 tkinter 中使用 python 3.6.当我第一次编写我的课程时,我使用了一个矩形(通过使用 create_rectangle 方法创建)进行可视化表示.在我的班级按照我想要的方式行事后,我想用一张照片而不是矩形出现在我的画布上.正 ..
发布时间:2021-06-17 18:44:59 Python

PyObjC:如何使用 NSCoding 来实现 Python 酸洗?

标题说明了一切.似乎应该可以(以某种方式)为其 Objective-C 类实现 NSCoding 的 PyObjC 对象实现 python 端酸洗,而无需从头开始重新实现所有内容.也就是说,虽然值语义成员可能很简单,但按引用对象图和条件编码可能很棘手.如何让双方在对象图部分“协作"? 解决方案 PyObjC 确实支持将 Python 对象写入(键控)存档(即,任何可以被酸洗的对象都实现 N ..
发布时间:2021-06-17 18:44:56 Python

为什么酸洗 numpy 数组的开销很大?

假设我在 Python 中有一个简单的数组: >>>x = [1.0, 2.0, 3.0, 4.0] 腌制后,它的尺寸相当小: >>>pickle.dumps(x).__len__()44 为什么我用一个numpy数组,大小那么大? >>>xn = np.array(x)>>>pickle.dumps(xn).__len__()187 将其转换为不太精确的数据类型只会有一点 ..
发布时间:2021-06-17 18:44:54 Python

Python pickle:pickle 对象不等于源对象

我认为这是预期的行为,但我想检查一下并找出原因,因为我所做的研究是空白的 我有一个函数可以提取数据,创建自定义类的新实例,然后将其附加到列表中.该类只包含变量. 然后我将该列表使用协议 2 作为二进制文件腌制到一个文件中,稍后我重新运行脚本,从我的源中重新提取数据,我有一个包含自定义类实例的新列表,用于测试我保留data 与源数据相同. 重新加载pickle文件 现在当我做 ..
发布时间:2021-06-17 18:44:51 Python

如何使用来自另一台 PC 的信息设置 QFileSystemModel?

我正在做一个大学项目,我们需要在本地网络中设置类似 Dropbox 的服务.我可以在终端中轻松完成,但对于一些额外的点,我正在尝试为其设置 QtPy ui. 我的一个小部件是一个带有 QFileSystemModel 的 QTreeView,我想在其中可视化用户保存在他的“保管箱"中的文件和文件夹.问题是,信息和文件夹本身在另一台计算机中.我试过将小部件从一台电脑发送到另一台电脑,但你不能腌 ..
发布时间:2021-06-17 18:44:48 Python

Python3 unpickle 字节对象的字符串表示

是否有一种好方法可以加载表示为字符串的 bytes 对象,以便对其进行 unpickled? 基本示例 这是一个愚蠢的例子: 进口泡菜mydict = { 'a': 1111, 'b': 2222 }string_of_bytes_obj = str(pickle.dumps(mydict)) # 这个快速示例的特意字符串表示.unpickled_dict = pickle.load ..
发布时间:2021-06-17 18:44:45 Python

为什么 Python 的搁置要求所有键都是字符串?

Python 的 shelve 模块要求所有键都是字符串,并且有各种解决方法(参见线程 此处 和这里).我的问题是,为什么搁置需要字符串键?鉴于我可以腌制一个使用其他对象作为键的字典,并且搁置在引擎盖下使用腌制,为什么搁置本身不能处理这些键?字符串键是否让只更新持久对象的一部分变得更加简单,而不必重写整个对象(如果是,为什么)? 解决方案 因为在底层,shelve 模块使用 bsddb、g ..
发布时间:2021-06-17 18:44:41 Python

mlflow 如何使用自定义转换器保存 sklearn 管道?

我正在尝试使用 mlflow 保存 sklearn 机器学习模型,这是一个包含我定义的自定义转换器的管道,并将其加载到另一个项目中.我的自定义转换器继承自 BaseEstimator 和 TransformerMixin. 假设我有 2 个项目: train_project:它在 src.ml.transformers.py 中有自定义转换器 use_project:它在 src 中 ..
发布时间:2021-06-17 18:44:38 AI人工智能

UnpicklingError: NEWOBJ 类参数不是类型对象

我正在使用自定义pickler,根据Shane Hathaway的代码,用它们的字符串表示替换任何不可pickle的对象(例如套接字或文件):Python:使用一些不可选择的项目腌制字典 它大部分时间都可以工作,但是当我尝试解开 Django HttpResponse 时,出现以下错误:UnpicklingError: NEWOBJ 类参数不是类型对象 我不知道错误的实际含义.如果可以 ..
发布时间:2021-06-17 18:44:35 Python

动态类定义的酸洗

我正在尝试将动态生成的类作为替代类的工厂进行腌制.类似于以下内容: 导入系统,pickleBC类(对象):经过C = type("NewClassName", (BC,), {})pickle.dump(C, sys.stdout) 这会导致以下错误: pickle.PicklingError: Can't pickle : 它不 ..
发布时间:2021-06-17 18:44:29 Python

在 azure ml 部署环境中导入自定义 python 模块

我有一个 sklearn k-means 模型.我正在训练模型并将其保存在 pickle 文件中,以便稍后使用 azure ml 库进行部署.我正在训练的模型使用名为 MultiColumnLabelEncoder 的自定义特征编码器.管道模型定义如下: # 流水线kmeans = KMeans(n_clusters=3, random_state=0)管道 = 管道([(“编码器",Multi ..

python pickle vs sql效率

我正在用 Python 开发一个应用程序,它需要存储(非常)大的数据集.pickle 是存储数据并根据请求检索数据的最实用方法,还是应该考虑改用 SQL?我的主要目标是速度和尽可能少的处理压力. 我担心的是,pickle 必须动态处理整个大文件,这可能会对性能产生不利影响.除了使用之外,我对泡菜并不是特别熟悉,因此对其工作原理的任何解释都会很棒. 现在,我正在使用此代码: users ..
发布时间:2021-06-17 18:44:20 Python

为什么 dill 比 numpy 数组的 pickle 更快,磁盘效率更高

我在 Ubuntu 16.04 上使用 Python 2.7 和 NumPy 1.11.2,以及最新版本的 dill(我刚刚做了 pip install dill). 当使用 pickle 存储 NumPy 数组时,我发现 pickle 非常慢,并且存储的数组几乎是“必要"大小的三倍. 例如,在下面的代码中,pickle 大约慢了 50 倍(1 秒对 50 秒),并创建了一个 2.2G ..
发布时间:2021-06-17 18:44:14 Python

不同服务器上的 Python 3.5 莳萝酸洗/解压:“KeyError: 'ClassType'"

在底部查看更新 -- 这里有人问过类似的问题,但从未解决:pickling 和 unpickling 用户定义的类 我正在开发一个项目,该项目需要对用户定义的类进行酸洗,并将它们发送到远程服务器,在那里对它们进行解压和调用.我们使用 Dill 库来实现这一点,并取得了很多成功. 不幸的是,我遇到了一个问题,我很难调试.我创建并pickle一个类如下: 导入莳萝,base6 ..
发布时间:2021-06-17 18:44:11 Python

pickle:它如何腌制一个函数?

在昨天发布的帖子中,我无意中发现更改了一个函数的__qualname__对 pickle 有意想不到的影响.通过运行更多的测试,我发现在pickle一个函数时,pickle并没有像我想象的那样工作,而改变函数的__qualname__对如何产生真正的影响pickle 行为. 下面的代码片段是我运行的测试, 进口泡菜从 sys 导入模块# 一个简单的pickle函数def haha​​ha( ..
发布时间:2021-06-17 18:44:08 Python

Pickle 不能pickle 一个namedtuple

我正在尝试像这样腌制 namedtuple: def f():TemplateData = namedtuple('TemplateData', ['field1', 'field2'])f1 = np.random.randn(50,50)f2 = np.random.randn(50,50)td = 模板数据(f1,f2)返回 td数据 = f()使用 open("aaaa.pkl", "w ..
发布时间:2021-06-17 18:44:05 Python

检查泡菜转储的依赖项

假设我写了以下代码: import pickle定义 foo():返回 '​​foo'定义栏():返回 '​​bar' + foo()pickle.dump(bar, open('bar.bin', 'wb')) 此时,我有一个二进制转储(当然没有 foo 对全局范围的依赖).现在,如果我运行以下行 temp = pickle.load(open('bar.bin', 'rb')) ..
发布时间:2021-06-17 18:44:02 Python

如何将 tf.data.Dataset 与 kedro 一起使用?

我正在使用 tf.data.Dataset 准备用于训练 tf.kears 模型的流数据集.使用 kedro,有没有办法创建节点并返回创建的 tf.data.Dataset 在下一个训练节点中使用它? MemoryDataset 可能不会工作,因为 tf.data.Dataset 不能被腌制(deepcopy 是不可能的),另见 这个问题.根据 issue #91,MemoryDataset ..

为什么将泡菜文件加载到内存中会占用更多空间?

我有一个文件夹,其中包含 pickle.dump 保存的 7603 个文件.平均文件大小为6.5MB,因此文件占用的总磁盘空间约为48GB. 每个文件都是通过pickling一个list对象得到的,list的结构为 [A * 50]A = [str, int, [92 浮点数], B * 3]B = [C * 约 6]C = [str, int, [92 个浮点数]] 我使用的电脑内存是 ..
发布时间:2021-06-17 18:43:56 Python