我再次在使用PythonNumPy和数组以在矩阵之间进行一些计算的过程中苦苦挣扎。

可能无法正常工作的代码部分如下:

train, test, cv = np.array_split(data, 3, axis = 0)

train_inputs = train[:,: -1]

test_inputs = test[:,: -1]

cv_inputs = cv[:,: -1]

train_outputs = train[:, -1]

test_outputs = test[:, -1]

cv_outputs = cv[:, -1]

当打印这些矩阵信息(np.ndim,np.shape和dtype分别),这是你会得到什么:

2

1

2

1

2

1

(94936, 30)

(94936,)

(94936, 30)

(94936,)

(94935, 30)

(94935,)

float64

float64

float64

float64

float64

float64

我相信它在所有*_output数组中都缺少1维。

我需要的另一个矩阵是通过以下命令创建的:

newMatrix = neuronLayer(30, 94936)

在其中neuronLayer定义为的类:

class neuronLayer():

def __init__(self, neurons, neuron_inputs):

self.weights = 2 * np.random.random((neuron_inputs, neurons)) - 1

这是最终的输出:

outputLayer1 = self.__sigmoid(np.dot(inputs, self.layer1.weights))

ValueError: shapes (94936,30) and (94936,30) not aligned: 30 (dim 1) != 94936 (dim 0)

Python清楚地告诉我矩阵没有加在一起,但是我不明白问题出在哪里。

有小费吗?

PS:完整的代码粘贴到。

解决方案

layer1 = neuronLayer(30, 94936) # 29 neurons with 227908 inputs

layer2 = neuronLayer(1, 30) # 1 Neuron with the previous 29 inputs

NueronLayer在哪里创建

self.weights = 2 * np.random.random((neuron_inputs, neurons)) - 1

2个权重的大小分别为(94936,30)和(30,1)。

这条线没有任何意义。我很惊讶它没有给出错误

layer1error = layer2delta.dot(self.layer2.weights.np.transpose)

我怀疑你想要np.transpose(self.layer2.weights)还是self.layer2.weights.T。

但是也许它没有到达那里。train首次致电think(94936,30)inputs

outputLayer1 = self.__sigmoid(np.dot(inputs, self.layer1.weights))

outputLayer2 = self.__sigmoid(np.dot(outputLayer1, self.layer2.weights))

因此,它尝试对np.dot2个(94936,30),(94936,30)数组进行a运算。它们与点不兼容。您可以换位,产生(94936,94936)数组或(30,30)。一个看起来太大了。(30,30)与第二层的重量兼容。

np.dot(inputs.T, self.layer1.weights)

有工作的机会。

np.dot(outputLayer1, self.layer2.weights)

(30,30) with (30,1) => (30,1)

但是你呢

train_outputs - outputLayer2

不管train_outputs是(94936,)还是(94936,1)都会有问题

您需要确保数组形状在计算过程中正确流动。不要一开始就检查它们。然后内部检查。并确保您了解它们在每个步骤中应具有的形状。

使用更少的输入和层(例如10个示例和3个功能)来开发和测试此代码将容易得多。这样,您可以查看值和形状。

python中数组的维度_Python数组维度问题相关推荐

  1. python中numpy的用法_Python中numpy多维数组的用法

    继上篇讲过numpy如何构建多维数组之后,今天我们来学习numpy多维数组的用法. 加法和减法操作要求操作双方的维数信息一致,均为M*N为数组方可正确执行操作. a = np.arange(4) 输出 ...

  2. python中数组追加数据_python数组追加

    记linux shell的两个小技巧:shell数组和字符串判断 最近在使用shell写脚本的时候,想实现python中两个很简单的功能:1:判断一个字符串是否包含另一个字符串.2:怎么用实现pyth ...

  3. 详解Python中的算术乘法、数组乘法与矩阵乘法

    推荐教材: <Python数据分析.挖掘与可视化>(慕课版)(ISBN:978-7-115-52361-7),董付国,人民邮电出版社,定价49.8元,2020年1月出版,2021年3月第6 ...

  4. python的数组批量赋值_python数组赋值

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 在学习python过程中数组是个逃不过去的一个关,既然逃不过去咱就勇敢面对它,学 ...

  5. python数组内运算_Python数组介绍和操作运算详解

    本文概述 数组定义为存储在连续内存位置的项目的集合.这是一个可以容纳固定数量项目的容器, 这些项目应为同一类型.数组在大多数编程语言(例如C / C ++, JavaScript等)中都很流行. 数组 ...

  6. python定义数组的方法_Python数组定义方法详细介绍

    本文实例讲述了Python数组定义方法.分享给大家供大家参考,具体如下: Python中没有数组的数据结构,但列表很像数组,如: a=[0,1,2] 这时:a[0]=0, a[1]=1, a[[2]= ...

  7. python中数组元素引用_python数组

    ## Python数组 注意:Python不具有对数组的内置支持,但是可以使用[Python列表](https://www.w3schools.com/python/python_lists.asp) ...

  8. python输入数组的方法_Python 数组

    Python 数组 在本文中,您将学习Python数组,数组和列表之间的区别,以及如何以及何时使用示例来使用它们. 在编程中,数组是相同类型的元素的集合. 数组在Java,C / C ++,JavaS ...

  9. python数组取值_python数组,字典的一些操作

    新手刚刚开始学习python,如果有写错或写的不好的地方,请大家多多指教! 在python中输出当前系统 import sys print(sys.platform) 输出当前在那个目录 import ...

  10. python数组追加值_python数组追加

    记linux shell的两个小技巧:shell数组和字符串判断 最近在使用shell写脚本的时候,想实现python中两个很简单的功能:1:判断一个字符串是否包含另一个字符串.2:怎么用实现pyth ...

最新文章

  1. pycharm中import呈现灰色原因
  2. delphi 获取4位的年份_原来华为手机拨号键盘这么厉害!除了能打电话,还有4个隐藏功能...
  3. JavaWeb:用JDBC操作数据库
  4. linux 补丁脚本,Linux上打patch补丁包脚本全解
  5. Linux下修改只读文件
  6. Flowable 数据库表结构 ACT_RE_PROCDEF
  7. Asynchronous(异步处理-Generator)
  8. Java中选择排序,冒泡排序,插入排序,快速排序
  9. ASP.Net 数据绑定之-----选择合适的数据控件
  10. 开源监控利器grafana
  11. Portworx副总裁Eric Han接受InfoQ采访,介绍超融合容器市场的现状
  12. 频率分布直方图组距如何确定_频率分布有关的概念
  13. SQL SERVER 2008数据库管理与维护总结
  14. DirectShow基础类库开发参考文档
  15. 如何彻底卸载3dmax2020_完全卸载3DMAX的方法
  16. Kotlin 1.4 版本正式发布:新功能一覽
  17. python爬虫实现贴吧表情包的爬取
  18. html5 sketchpad,Sketchpad:基于html5在线图像绘画板
  19. ZK实现SASL认证+Kafka连接ZK
  20. 计算机excel还原,『怎么还原电脑自带的excle』excel表格保存过了怎么恢复原来的数据...

热门文章

  1. Mysql数据类型之整数型的一些细节你get到了吗?
  2. 窗口分析函数_3_生成不间断重复排名序号
  3. SQL 100+个最佳入门案例实践(覆盖Oralce、SQL Server、Mysql)之基础操作_1_检索数据
  4. 深入浅出设计模式原则之迪米特法则(LoD)
  5. I2C原理及应用实例
  6. CodeForces 780 E Underground Lab
  7. Springboot集成Shiro+Redis后,@Transactional注解不起作用
  8. Item 9 Always override hashCode when you override equals HASHMAP扩展
  9. 《中国人工智能学会通讯》——11.65 双重代价敏感的属性分类模型
  10. GTD时间管理---非行动性