我是靠谱客的博主 清脆黑夜,最近开发中收集的这篇文章主要介绍近期python与keras问题汇总190905python错误提示“non-default argument follows default argument”pandas.read_csv() 报错 OSError: Initializing from file failedValueError:Input 0 is incompatible with layer lstm_1: expected ndim=3,found ndim=4多输入模型python 导入数据错误:UnicodeDe,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

近期python问题汇总

  • python错误提示“non-default argument follows default argument”
  • pandas.read_csv() 报错 OSError: Initializing from file failed
  • ValueError:Input 0 is incompatible with layer lstm_1: expected ndim=3,found ndim=4
  • 多输入模型
  • python 导入数据错误:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb5 in position 0: invalid start

python错误提示“non-default argument follows default argument”

含有默认值的参数必须放到不含默认值的后面。

def ConvBNReluUnit(kernel_size = 8,index = 0,num=1,input):

解决:调换一下参数的位置

def ConvBNReluUnit(input1,kernel_size = 8,index = 0,num=1):

pandas.read_csv() 报错 OSError: Initializing from file failed

一般由两种情况引起:一种是函数参数为路径而非文件名称,另一种是函数参数带有中文。
学习

我出现问题是因为路径含有中文。
解决办法:

da4=pd.read_csv('F:\工程清单.csv',engine='python')

ValueError:Input 0 is incompatible with layer lstm_1: expected ndim=3,found ndim=4

往模型里加lstm层,产生的错误
原因是lstm层需要3维数据,而我的是4维

下例:


res_stack_d (Conv2D) (None, 125, 2, 16) 784


res_stack_e (Conv2D) (None, 63, 2, 32) 1568


所以需要将其reshape维数为3维,这里用到keras内的Reshape函数

解决:


model.add(Conv2D(64, kernel_size=(3, 1), strides=(2, 1), padding='valid'))
model.add(Conv2D(64, kernel_size=(3, 1), strides=(1, 1), padding='same'))
model.add(Reshape((60,64)))
model.add(LSTM(units=100,return_sequences = True))

提前算好卷积层的输出,并进行reshape操作。
这里有一个误区:
为什么明明lstm层需要的是3维数据,而我这里的reshape内只有2维的(60,64)呢?
其实是这里少了一个None
正常的模型对样本个数都是不做固定要求的,输入模型的可以是(None,1024,1024)
模型中间层也可以处理类似(None,1024,1024)的输入
所以算上None刚好是三维,这里的Reshape函数就不考虑这个None,直接输入后面两维进行Reshape

多输入模型

参考链接
我理解如果要使用多输入模型或者类似Resnet的网络,就不能用

model = Sequential()

这种序列模型,而是应该直接用API模型,具体见
例如:


sig_input = Input(shape=input_shape,name='Input')
x = sig_input
x = Conv2D(8, kernel_size=(3, 1), strides=(2, 1), padding='same', input_shape = (X_train.shape[1:]),name =conv_name_base+"a")(x)
x = BatchNormalization(name=bn_name_base + 'a')(x)
#x = add([x, sig_input])
#x = Activation('relu')(x)
x = Conv2D(8, kernel_size=(3, 1), strides=(1, 1), padding='same',name =conv_name_base+"b")(x)

python 导入数据错误:UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xb5 in position 0: invalid start

https://blog.csdn.net/wang7807564/article/details/78164855
https://blog.csdn.net/qq_35892623/article/details/82941473
对我都用处不大,希望大家有好办法可以告诉我

我最后的解决办法只能是删掉函数文件内的中文注释。。。。

最后

以上就是清脆黑夜为你收集整理的近期python与keras问题汇总190905python错误提示“non-default argument follows default argument”pandas.read_csv() 报错 OSError: Initializing from file failedValueError:Input 0 is incompatible with layer lstm_1: expected ndim=3,found ndim=4多输入模型python 导入数据错误:UnicodeDe的全部内容,希望文章能够帮你解决近期python与keras问题汇总190905python错误提示“non-default argument follows default argument”pandas.read_csv() 报错 OSError: Initializing from file failedValueError:Input 0 is incompatible with layer lstm_1: expected ndim=3,found ndim=4多输入模型python 导入数据错误:UnicodeDe所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部