我在Python 3.8(32位)中具有以下脚本:
dataset = pd.read_csv("multivariateLRData.csv")
dataset = dataset.to_numpy()
x = dataset[:,0:-1]#seperating the x and y
x=np.insert(x, 0, 1, axis=1)#inserting column of ones
# x=np.append(x,one)
y = dataset[:, -1]
#learning rate
lr=0.01
m=x.shape[0] #size of examples
#initializing weights
term = np.matmul(x.T,y)
#t is the array of weights
t = np.matmul(np.linalg.pinv(np.matmul(x.T,x)),term)
#hypothesis
hyp = t[0] + (t[1] * x[:,1]) + (t[2] * x[:,2]) + (t[3] * x[:,3]) + (t[4] * x[:,4])
#helping array to store all cost function's values
k=[]
count=0
count2=0
for i in range(0,100):
for l in range(0,145):
count+=(hyp[l]-y[l])**2
mse = count/(2*m) #cost function of every iteration
k.append(mse)
#gradient descent
for j in range(0,t.shape[0]):
for l in range(0,145):
count2 += (hyp[l] - y[l]) * x[l,j] # computing values of weights
t[j] = t[j]-((lr/m)*count2)
hyp = t[0] + (t[1] * x[:, 1]) + (t[2] * x[:, 2]) + (t[3] * x[:, 3]) + (t[4] * x[:, 4]) #updating the hypothesis
print(k)
此脚本读取一个文件,该文件包含需要解密的文件的路径,然后将其解密。
问题在于,在一台计算机(物理机)中,它工作正常,永不失败,而在另一台计算机(虚拟机)中,输出以下错误:
回溯(最近通话最近): 文件“ C:\ github \ encrypt2 \ decrypt.py”,第26行,在 file_out = open(x,“ wb”) TypeError:强制转换为Unicode:需要字符串或缓冲区,找到int
由于该代码可以在一台计算机上正常运行,所以我不知道该怎么办,只能尝试找出计算机配置之间的差异。
找不到任何区别。
答案 0 :(得分:1)
解决了,在卸载后,vm还安装了python 2.7,并将var path设置为3.8一切正常