您好,我发现了一些问,运行您的代码的时候出现了一些,发现维度的错误(你的代码模型部分我都没有改变)在routing 部分的b=b+K.batch_dot(outputs,u_hat_vecs,[2,3])计算它的耦合系数的时候,其中output维度是[224,16,16,16],u_hat_ves的维度是[226,16,48,16]报错是: Dimensions must be equal, but are 224 and 16 for 'capsule_3/conv2/add_2' (op: 'Add') with input shapes: [224,16,48], [224,16,16,16,48],第二个是:胶囊网络的动态路由迭代是一个迭代过程,您好像没有进行反向传播截断,这个地方是否需要进行反向传播截断.
我使用tf的矩阵相乘[224,16,16,16] x[224,16,16,48]得到[224,16,16,48] 我然后在第2个维度上进行相加变成[224,16,48]与加b,解决了routing 部分的问题,然后后面的poses的reshape 又出现了相关问题,
我使用的环境是python3.6和tf.1.14.0,这个应该会是环境配置问题吧,像请问下相关的问题,想拿你的模型做一个baseline 模型,作为引文,你的代码是应该没有写笔误吧,还是python3.6和python2.的问题
您好,我发现了一些问,运行您的代码的时候出现了一些,发现维度的错误(你的代码模型部分我都没有改变)在routing 部分的b=b+K.batch_dot(outputs,u_hat_vecs,[2,3])计算它的耦合系数的时候,其中output维度是[224,16,16,16],u_hat_ves的维度是[226,16,48,16]报错是: Dimensions must be equal, but are 224 and 16 for 'capsule_3/conv2/add_2' (op: 'Add') with input shapes: [224,16,48], [224,16,16,16,48],第二个是:胶囊网络的动态路由迭代是一个迭代过程,您好像没有进行反向传播截断,这个地方是否需要进行反向传播截断.
我使用tf的矩阵相乘[224,16,16,16] x[224,16,16,48]得到[224,16,16,48] 我然后在第2个维度上进行相加变成[224,16,48]与加b,解决了routing 部分的问题,然后后面的poses的reshape 又出现了相关问题,
我使用的环境是python3.6和tf.1.14.0,这个应该会是环境配置问题吧,像请问下相关的问题,想拿你的模型做一个baseline 模型,作为引文,你的代码是应该没有写笔误吧,还是python3.6和python2.的问题