我是靠谱客的博主 清脆黑夜,这篇文章主要介绍近期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”

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

复制代码
1
2
def ConvBNReluUnit(kernel_size = 8,index = 0,num=1,input):

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

复制代码
1
2
def ConvBNReluUnit(input1,kernel_size = 8,index = 0,num=1):

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

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

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

复制代码
1
2
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函数

解决:

复制代码
1
2
3
4
5
6
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的网络,就不能用

复制代码
1
2
model = Sequential()

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

复制代码
1
2
3
4
5
6
7
8
9
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内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部