我有一个想要并行运行的简单函数。如果直接在主函数中指定了该函数,则一切正常。但是,如果从单独的Python文件(该文件创建为包含一系列帮助函数)中调用了完全相同的函数,则代码将失败,并显示以下错误:
任务无法反序列化。请确保函数的参数都是可挑剔的。
我试图运行此代码:
from joblib import Parallel, delayed
import multiprocessing
import otherFile as of
inputs = range(10)
def processInput(i):
return i * i
num_cores = multiprocessing.cpu_count()
results1 = Parallel(n_jobs=num_cores)(delayed(processInput)(i) for i in inputs) # this works
results2 = Parallel(n_jobs=num_cores)(delayed(of.processInput)(i) for i in inputs) # this fails
Run Code Online (Sandbox Code Playgroud)
当我从文件的调用函数processInput()时,我只是在该.py文件中复制了相同的函数。
def processInput(i):
return i * i
Run Code Online (Sandbox Code Playgroud)
如果需要调用的函数位于单独的.py文件中,如何使并行化工作?
这是完整的错误:
results = Parallel(n_jobs=num_cores)(delayed(of.processInput)(i) for i in inputs)
Traceback (most recent call last):
File "<ipython-input-387-d8dd1dc361a6>", line 1, in <module>
results = Parallel(n_jobs=num_cores)(delayed(of.processInput)(i) for i in inputs) …Run Code Online (Sandbox Code Playgroud) 我有使用PySimpleGUI的Python GUI,它需要显示多个图形,我打算通过一组按钮进行导航。我知道我可以将所有图以PNG格式保存在给定的文件夹中,只需将它们加载到Image对象中,然后在单击按钮时使用元素的Update方法加载新图像。
如下所示的效果很好:
[sg.Image(filename=os.getcwd() + pngFileName, key='key1', size=(5, 6))]
Run Code Online (Sandbox Code Playgroud)
我需要传递要从当前目录中读取并显示在“图像”小部件中的图的文件名。
但这意味着我会将所有文件保存在一个文件夹中,而我更希望将所有PNG放在字典中,并在需要将给定文件名传递给sg.Image()时引用该字典。
我看到的好处是,这样一来,我不必占用硬盘驱动器上的空间来存储PNG,而且不必写然后从磁盘上读取,我想直接从磁盘上获取PNG会更快。运行时内存中的字典。
我无法实现此目标,因为代码似乎期望文件名具有特定路径,而不是传递包含PNG的字典的特定值。
我该如何实现?
当我在Windows窗体上工作时,我意外地点击了按钮,现在我有一些与此点击事件相关的代码.我不需要它们,我想从代码中删除这些部分,但是,如果我这样做,Visual Studio会在编译时抱怨导致它搜索丢失的代码.如何摆脱代码中未使用的点击事件?
我有一个字典,其中键是产品代码,每个键下面的值是产品的一些细节(例如重量,颜色,价格等).现在让我们说代码循环遍历我拥有的产品代码列表.我想检查代码(在下面的代码中称为myKey)是否在我的字典中,在这种情况下我还想提取一些属性(假设我的情况下只是颜色和价格).我正在尝试以下但没有成功:
var myColour = myDictionary
.Where(x => myDictionary.Keys.Contains(myKey))
.Select(x => x.Value.Colour);
var myPrice = myDictionary
.Where(x => myDictionary.Keys.Contains(myKey))
.Select(x => x.Value.Price);
Run Code Online (Sandbox Code Playgroud)
我没有任何错误,但我只是没有看到结果存储在变量myColor和myPrice中.
我的问题的正确语法是什么?