'NoneType' object is not iterable
'NoneType' object is not iterable不知道怎么改呢import sys
import time
import math
import datetime
import threading
import numpy as np
import matplotlib.pyplot as plt
def show_data(x,y):
num_list_x = np.arange(len(x))
plt.figure(figsize=(20, 10))
plt.xlim(0, len(num_list_x)+50)
plt.plot(num_list_x, x, color='b',linestyle='-', label='x')
plt.legend()
plt.show()
if all(y)!= None:
plt.figure(figsize=(20, 10))
num_list_y = np.arange(len(y))
plt.xlim(0, len(num_list_y)+50)
plt.plot(num_list_y, y, color='r',linestyle='-', label='y')
plt.legend()
plt.show()
def logistic(t):
return 1.0/(1+np.exp(-t))
def n_multiply(t, x):
return t * x
def trans_inverse(x):
if not isinstance(x, np.ndarray):
x = np.array(x)
return np.linalg.inv(x.transpose())
def ica(x):
m = len(x) # 样本数目,这里是 2 个
n = len(x) # mic 数目,这里是 1000 个
w = [*n for t in range(n)] # 建立个 1000*1000 的列表
iw = [*n for t in range(n)]# 建立个 1000*1000 的列表
w1 = [*n for t in range(n)]# 建立个 1000*1000 的列表
for i in range(n):# 将对角线初始化为1
w = 1
alpha = 0.001 # 初始化学习率为
for time in range(200): # 迭代次数最多不超过 200 次
for i in range(m): # 分离出"样本数目"个样本
for j in range(n):
t = np.dot(w, x)
t = 1 - 2*logistic(t)
w1 = n_multiply(t,x)# w1 = t*x
iw = trans_inverse(w) # iw = w^T^(-1)
iw = w1 + iw
w1 = np.add(w1, iw) # w1 += iw
w1 = np.dot(w1, alpha)
w = np.add(w, w1)
print(time, ":\t", w)
return w
def mix(A, x,y):
mix = np.dot(A, np.array())
for i in range(len(mix)):
mix = mix + mix
show_data(mix, None)
return mix
def decode(w,x):
ps = np.dot(x, w)
return ps, ps
if __name__ =="__main__":
s1 =
s2 = * 20
#s1 =
#s2 = * 2
show_data(s1, s2)
#################
A = [, ]# 混合矩阵
x = mix(A, s1, s2) #s1/s2线性加权得到输入数据x
x_mean = np.mean(x)# 去均值
for i in range(x.shape):
for j in range(x.shape):
x = x - x_mean
# ica
w = ica(x)
# 解混
= decode(w, x)
show_data(ps1, ps2)
70行:show_data(mix, None),调用16行:if all(y)!= None: all(None),报错。
把70行改成:show_data(mix, ) https://www.cnblogs.com/zhaijiahui/p/8391701.html 不过是第几行啊 xiaosi4081 发表于 2020-4-24 18:39
不过是第几行啊
16 没出问题,正常跑 16行
if y: GIAAKK 发表于 2020-4-24 18:42
16
我的回复在审核,所以要等等 xiaosi4081 发表于 2020-4-24 18:47
我的回复在审核,所以要等等
已经过了审核了 xiaosi4081 发表于 2020-4-24 18:38
https://www.cnblogs.com/zhaijiahui/p/8391701.html
理解意思 不太会改{:5_100:} txxcat 发表于 2020-4-24 19:29
70行:show_data(mix, None),调用16行:if all(y)!= None: all(None),报错。
把70行改成:show_data( ...
最后一个图是空白的 是不是改变意思了啊 txxcat 发表于 2020-4-24 19:29
70行:show_data(mix, None),调用16行:if all(y)!= None: all(None),报错。
把70行改成:show_data( ...
是这样的谢谢谢谢 GIAAKK 发表于 2020-4-24 20:07
理解意思 不太会改
解决了 谢谢哈
页:
[1]