学习深度学习基础讲解教程
《零基础入门深度学习》https://www.zybuluo.com/hanbingtao/note/433855
时遇见问题
1、匿名函数lambda()问题
运行代码
return self.activator(
reduce(lambda a, b: a + b,
map(lambda (x, w): x * w,
zip(input_vec, self.weights))
, 0.0) + self.bias)
提示问题
map(lambda (x, w): x * w,
SyntaxError: invalid syntax
原因是因为Python3.0之后不认识 lambda(x,w)中的()
因此直接理解该句话是将x,w相乘并利用map()函数构成list
因此直接将
lambda a, b: a + b, map(lambda (x, w): x * w, zip(input_vec, self.weights))
改为
[x * w for x,w in zip(input_vec, self.weights)]
ps:会遇见reduce()函数找不到的问题,解决方法见上一篇文章
2、map()函数的 len()问题
运行第二篇线性单元代码
ax.scatter(map(lambda x: x[0], input_vecs), labels)
时提示错误
TypeError: object of type 'map' has no len()
原因和《Python2.7与Python3.0在学习中的差异点》中zip()问题一样,因此改为
ax.scatter(list(map(lambda x: x[0], input_vecs)), labels)