我需要使用我的模型在 python 中批量和并行地进行预测。如果我加载模型并在常规 for 循环中创建数据框并使用 predict 函数,它就没有问题。如果我在 python 中使用 multiprocessing 并行创建不相交的数据帧,然后使用 predict 函数 for 循环无限期冻结。为什么会出现这种行为?
这是我的代码片段:
with open('models/model_test.pkl', 'rb') as fin:
pkl_bst = pickle.load(fin)
def predict_generator(X):
df = X
print(df.head())
df = (df.groupby(['user_id']).recommender_items.apply(flat_map)
.reset_index().drop('level_1', axis=1))
df.columns = ['user_id', 'product_id']
print('Merge Data')
user_lookup = pd.read_csv('data/user_lookup.csv')
product_lookup = pd.read_csv('data/product_lookup.csv')
product_map = dict(zip(product_lookup.product_id, product_lookup.name))
print(user_lookup.head())
df = pd.merge(df, user_lookup, on=['user_id'])
df = pd.merge(df, product_lookup, on=['product_id'])
df = df.sort_values(['user_id', 'product_id'])
users = df.user_id.values
items = df.product_id.values
df.drop(['user_id', 'product_id'], axis=1, inplace=True)
print('Prediction Step')
prediction = …Run Code Online (Sandbox Code Playgroud) 我正在创建一个带有特殊方法div的类.这是我的代码:
class C:
def __init__(self,r,a=0.0):
self.r = r
self.a = a
def __div__(self,other):
SR, SI, OR, OI = self.r, self.a, other.r, other.a
s = float(OR**2 + OI**2)
return C((SR*OR+SI*OI)/s,(SI*OR-SR*OI)/s)
def __str__(self):
return '(%g,%g)' % (self.r,self.a)
Run Code Online (Sandbox Code Playgroud)
这就是我做的:
>>> from classes import C
>>> u = C(2,-1)
>>> v = C(1)
>>> w = u/v
Run Code Online (Sandbox Code Playgroud)
然后我得到错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for /: 'instance' and 'instance'
Run Code Online (Sandbox Code Playgroud)
但是当我使用时:
def __truediv__(self,other):
SR, …Run Code Online (Sandbox Code Playgroud) 我是Microsoft SQL Server 2008和SQL的新手.我有一个非常微不足道的问题.我刚刚创建了我的第一个数据库,并在其中创建了一个名为的表programmer.在我的数据库下的对象资源管理器中,我可以看到我的表programmer.我试图创建一个第二个表,customer只是为了获取SQL的挂起但是customer表格没有显示在我的数据库名称下,只programmer显示了表格.
我的问题是对象资源管理器中的第二个表在哪里?
先感谢您.