【发布时间】:2019-11-18 07:47:07
【问题描述】:
我在将值从一个脚本传递到另一个脚本时遇到了麻烦,我试图一次迈出一步,但大局是将值 obj1.get_predval 打印到我的 Django 视图并等待用户输入。
active_learner.obj1.get_predval 在我的 beta.py 脚本中不起作用,它只是打印出有意义的初始值,因为它没有运行 main.py 但我不确定如何传递 @ 的值987654323@ 来自 main.py。它在 main.py 脚本中正确输出obj1.get_predval。
我假设我有一个根本的误解,现在,我试图返回的只是函数beta.py 中obj1.get_predval 的值,当它到达行返回值并等待用户输入时继续。
main.py 下面的脚本
obj1 = MachinePred()
def main():
model = load_model('model_new.h5')
DATAFILE = "c_user_model_data100000.csv"
dataset = loadtxt(DATAFILE, delimiter=",")
X_pool, Y = dataset[:, 0:5], dataset[:, 5:]
sc_x, sc_y = StandardScaler(), StandardScaler()
X_pool, Y = sc_x.fit_transform(X_pool), sc_y.fit_transform(Y)
learner = ActiveLearner(
estimator = model,
query_strategy = uncertainty_sampling
)
for i in range(3):
query_idx, query_inst = learner.query(X_pool)
print("The machine queried:\n{}\nat index {}".format(
sc_x.inverse_transform(query_inst),
query_idx
)
)
machine_prediction = learner.predict(X_pool[query_idx])
obj1.set_predval(machine_prediction)
print("predvalue:", (obj1.get_predval()))
ratings = []
cc_factor = ["delay", "speed", "missing_words", "paraphrasing"]
for f in cc_factor:
user_answer = input("How would you rate the quality of {} between [1-5]: ".format(f))
ratings.append(user_answer)
print(ratings, np.array([ratings]).reshape(1,-1))
if __name__ == '__main__':
main()
beta.py
这是我试图将值传递给下面的脚本
import active_learner
print(A is: ", active_learner.obj1.get_predval)
mac.py 使用下面的 get 和 set 方法的简单 python 脚本。
class MachinePred:
predval = 0 # Default value of the 'x' configuration setting
def __init__(self):
self.predval = 0
def set_predval(self, val):
self.predval = val
def get_predval(self):
return self.predval
【问题讨论】:
标签: python django function class oop