我想根据 Robert Frost 的诗歌创作诗歌。
我已经预处理了我的数据集:
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | input_seq = np.array(tf.keras.preprocessing.sequence.pad_sequences(corpus_int,padding = 'pre',truncating = 'pre',maxlen = max_sentence_len)) predictors, label = input_seq[:,:-1],input_seq[:,-1]#predictors everything except last, label only last label = ku.to_categorical(label, num_classes=total_words,dtype='int32') predictors array([[ 0, 0, 0, ..., 10, 5, 544], [ 0, 0, 0, ..., 64, 8, 854], [ 0, 0, 0, ..., 855, 174, 2], ..., [ 0, 0, 0, ..., 129, 49, 94], [ 0, 0, 0, ..., 183, 159, 60], [ 0, 0, 3, ..., 3, 2157, 4]], dtype=int32) label array([[0, 0, 0, ..., 0, 0, 0], [0, 0, 0, ..., 0, 0, 0], [0, 0, 0, ..., 0, 0, 0], ..., [0, 0, 0, ..., 0, 0, 0], [0, 0, 0, ..., 0, 0, 0], [0, 0, 0, ..., 0, 0, 1]], dtype=int32) |
之后,我使用编码器 - 解码器架构构建了我的模型:
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | def __init__(self,max_sequence_len,total_words): super(seq2seq,self).__init__() self.max_sequence_len = max_sequence_len self.total_words = total_words self.input_len = self.max_sequence_len - 1 self.total_words = self.total_words #Encoder self.enc_embedding = tf.keras.layers.Embedding(input_dim = total_words,output_dim = 300,input_length = max_sentence_len - 1) self.enc_lstm_1 = tf.keras.layers.LSTM(units = 300, activation = 'tanh') self.enc_lstm_2 = tf.keras.layers.LSTM(units = 300, activation = 'tanh', return_state = True) #decoder self.dec_embedding = tf.keras.layers.Embedding(input_dim = total_words,output_dim = 300,input_length = max_sentence_len - 1) self.dec_lstm_1 = tf.keras.layers.LSTM(units = 300, activation = 'tanh') self.dec_lstm_2 = tf.keras.layers.LSTM(units = 300, activation = 'tanh', return_state = True,return_sequences = True) #Dense layer and output: self.dense = tf.keras.layers.Dense(total_words, activation='softmax') def call(self,inputs): #Encoding enc_x = self.enc_embedding(inputs) enc_x = self.enc_lstm_1(enc_x) enc_outputs, state_h, state_c = self.enc_lstm_2(enc_x) #Decoding: dec_x = self.dec_embedding(enc_outputs) dec_x = self.dec_lstm_1(dec_x,initial_state = [state_h, state_c]) dec_outputs, _, _ = self.enc_lstm_2(dec_x) output_dense = self.dense(dec_outputs) return output_dense model = seq2seq(max_sequence_len = max_sentence_len,total_words = total_words) model.compile(optimizer = tf.keras.optimizers.RMSprop(lr=0.0001),loss='categorical_crossentropy', metrics=['accuracy']) model.fit(predictors,label,epochs=5, batch_size=128) |
但最后我得到以下错误:
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <ipython-input-4-1c349573302d> in <module>() 37 model = seq2seq(max_sequence_len = max_sentence_len,total_words = total_words) 38 model.compile(optimizer = tf.keras.optimizers.RMSprop(lr=0.0001),loss='categorical_crossentropy', metrics=['accuracy']) ---> 39 model.fit(predictors,label,epochs=5, batch_size=128) 8 frames /usr/local/lib/python3.6/dist-packages/tensorflow_core/python/autograph/impl/api.py in wrapper(*args, **kwargs) 235 except Exception as e: # pylint:disable=broad-except 236 if hasattr(e, 'ag_error_metadata'): --> 237 raise e.ag_error_metadata.to_exception(e) 238 else: 239 raise ValueError: in converted code: <ipython-input-4-1c349573302d>:27 call * enc_outputs, state_h, state_c = self.enc_lstm_2(enc_x) /usr/local/lib/python3.6/dist-packages/tensorflow_core/python/keras/layers/recurrent.py:623 __call__ return super(RNN, self).__call__(inputs, **kwargs) /usr/local/lib/python3.6/dist-packages/tensorflow_core/python/keras/engine/base_layer.py:812 __call__ self.name) /usr/local/lib/python3.6/dist-packages/tensorflow_core/python/keras/engine/input_spec.py:177 assert_input_compatibility str(x.shape.as_list())) ValueError: Input 0 of layer lstm_1 is incompatible with the layer: expected ndim=3, found ndim=2. Full shape received: [None, 300] |
我明白,问题出在输入形状中(正如在帖子中回答的那样,预期 ndim=3,发现 ndim=2)。
但我不知道我应该如何为 tensorflow 2.0 重塑我的数据。
你能帮我解决这个问题吗?
问题的根源在于
的使用
默认情况下,层将压缩尺寸为 1 - 所以
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | def __init__(self,max_sequence_len,total_words): super(seq2seq,self).__init__() self.max_sequence_len = max_sequence_len self.total_words = total_words self.input_len = self.max_sequence_len - 1 self.total_words = self.total_words #Encoder self.enc_embedding = tf.keras.layers.Embedding(input_dim = total_words, output_dim = 300,input_length = max_sentence_len - 1) self.enc_lstm_1 = tf.keras.layers.LSTM(units = 300, activation = 'tanh', return_sequences=True) self.enc_lstm_2 = tf.keras.layers.LSTM(units = 300, activation = 'tanh', return_state = True) #decoder self.dec_embedding = tf.keras.layers.Embedding(input_dim = total_words, output_dim = 300,input_length = max_sentence_len - 1) self.dec_lstm_1 = tf.keras.layers.LSTM(units = 300, activation = 'tanh', return_sequences=True) self.dec_lstm_2 = tf.keras.layers.LSTM(units = 300, activation = 'tanh', return_state = True,return_sequences = False) #Dense layer and output: self.dense = tf.keras.layers.Dense(total_words, activation='softmax') def call(self,inputs): #Encoding enc_x = self.enc_embedding(inputs) enc_x = self.enc_lstm_1(enc_x) enc_outputs, state_h, state_c = self.enc_lstm_2(enc_x) #Decoding: dec_x = self.dec_embedding(enc_outputs) dec_x = self.dec_lstm_1(dec_x,initial_state = [state_h, state_c]) dec_outputs, _, _ = self.enc_lstm_2(dec_x) output_dense = self.dense(dec_outputs) return output_dense |
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。
这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Pythonconditionalassignmentoperator对于这样一个简单的问题表示歉意,但是谷歌搜索||=并不是很有帮助;)Python中是否有与Ruby和Perl中的||=语句等效的语句?例如:foo="hey"foo||="what"#assignfooifit'sundefined#fooisstill"hey"bar||="yeah"#baris"yeah"另外,类似这样的东西的通用术语是什么?条件分配是我的第一个猜测,但Wikipediapage跟我想的不太一样。
什么是ruby的rack或python的Java的wsgi?还有一个路由库。 最佳答案 来自Python标准PEP333:Bycontrast,althoughJavahasjustasmanywebapplicationframeworksavailable,Java's"servlet"APImakesitpossibleforapplicationswrittenwithanyJavawebapplicationframeworktoruninanywebserverthatsupportstheservletAPI.ht
华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o
在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList()Obt
我想解析一个已经存在的.mid文件,改变它的乐器,例如从“acousticgrandpiano”到“violin”,然后将它保存回去或作为另一个.mid文件。根据我在文档中看到的内容,该乐器通过program_change或patch_change指令进行了更改,但我找不到任何在已经存在的MIDI文件中执行此操作的库.他们似乎都只支持从头开始创建的MIDI文件。 最佳答案 MIDIpackage会为您完成此操作,但具体方法取决于midi文件的原始内容。一个MIDI文件由一个或多个音轨组成,每个音轨是十六个channel中任何一个上的
本文主要介绍在使用Selenium进行自动化测试或者任务时,对于使用了iframe的页面,如何定位iframe中的元素文章目录场景描述解决方案具体代码场景描述当我们在使用Selenium进行自动化测试的时候,可能会遇到一些界面或者窗体是使用HTML的iframe标签进行承载的。对于iframe中的标签,如果直接查找是无法找到的,会抛出没有找到元素的异常。比如近在咫尺的例子就是,CSDN的登录窗体就是使用的iframe,大家可以尝试通过F12开发者模式查看到的tag_name,class_name,id或者xpath来定位中的页面元素,会抛出NoSuchElementException异常。解决
2022/8/4更新支持加入水印水印必须包含透明图像,并且水印图像大小要等于原图像的大小pythonconvert_image_to_video.py-f30-mwatermark.pngim_dirout.mkv2022/6/21更新让命令行参数更加易用新的命令行使用方法pythonconvert_image_to_video.py-f30im_dirout.mkvFFMPEG命令行转换一组JPG图像到视频时,是将这组图像视为MJPG流。我需要转换一组PNG图像到视频,FFMPEG就不认了。pyav内置了ffmpeg库,不需要系统带有ffmpeg工具因此我使用ffmpeg的python包装p
ValidPalindromeGivenastring,determineifitisapalindrome,consideringonlyalphanumericcharactersandignoringcases. [#125]Example:"Aman,aplan,acanal:Panama"isapalindrome."raceacar"isnotapalindrome.Haveyouconsiderthatthestringmightbeempty?Thisisagoodquestiontoaskduringaninterview.Forthepurposeofthisproblem
是否可以在PyYAML或Ruby的Psych引擎中禁用创建anchor和引用(并有效地显式列出冗余数据)?也许我在网上搜索时遗漏了一些东西,但在Psych中似乎没有太多可用的选项,而且我也无法确定PyYAML是否允许这样做.基本原理是我必须序列化一些数据并将其以可读的形式传递给一个不是真正的技术同事进行手动验证。有些数据是多余的,但我需要以最明确的方式列出它们以提高可读性(anchor和引用是提高效率的好概念,但不是人类可读性)。Ruby和Python是我选择的工具,但如果有其他一些相当简单的方法来“展开”YAML文档,它可能就可以了。 最佳答案