我正在尝试将数据从子组件发送到它的父组件,如下所示:
const ParentComponent = React.createClass({
getInitialState() {
return {
language: '',
};
},
handleLanguageCode: function(langValue) {
this.setState({language: langValue});
},
render() {
return (
<div className="col-sm-9" >
<SelectLanguage onSelectLanguage={this.handleLanguage}/>
</div>
);
});
Run Code Online (Sandbox Code Playgroud)
这是子组件:
export const SelectLanguage = React.createClass({
getInitialState: function(){
return{
selectedCode: '',
selectedLanguage: '',
};
},
handleLangChange: function (e) {
var lang = this.state.selectedLanguage;
var code = this.state.selectedCode;
this.props.onSelectLanguage({selectedLanguage: lang});
this.props.onSelectLanguage({selectedCode: code});
},
render() {
var json = require("json!../languages.json");
var jsonArray = json.languages;
return (
<div >
<DropdownList ref='dropdown'
data={jsonArray} …Run Code Online (Sandbox Code Playgroud) 我已经尝试了几种不同的方法来定义模拟函数,并且我的所有尝试都失败了.当我尝试将其定义如下:
jest.mock('../src/data/server', ()=> ({server: {report: jest.fn()}}));
expect(server.report.mock).toBeCalledWith(id, data, () => {...}, () => {...});
Run Code Online (Sandbox Code Playgroud)
我收到这个错误:
expect(jest.fn())[.not].toBeCalledWith()
jest.fn() value must be a mock function or spy.
Received: undefined
Run Code Online (Sandbox Code Playgroud)
如果我将模拟定义为:
var spy = jest.mock('../src/data/server', ()=> ({server: {report: jest.fn()}}));
expect(spy).toBeCalledWith(id, data, () => {...}, () => {...});
Run Code Online (Sandbox Code Playgroud)
它返回以下错误:
expect(jest.fn())[.not].toBeCalledWith()
jest.fn() value must be a mock function or spy.
Received:
object: {"addMatchers": [Function anonymous], "autoMockOff": [Function anonymous], "autoMockOn": [Function anonymous], "clearAllMocks": [Function anonymous], "clearAllTimers": [Function anonymous], "deepUnmock": [Function anonymous], "disableAutomock": [Function anonymous], "doMock": [Function …Run Code Online (Sandbox Code Playgroud) 我正在尝试在keras中为时间序列开发一个编码器模型.数据的形状是(5039,28,1),这意味着我的seq_len是28,我有一个功能.对于编码器的第一层,我使用112个hunits,第二层将有56个并且能够返回到解码器的输入形状,我不得不添加第二层28个hunits(这个自动编码器应该重建它的输入).但我不知道将LSTM层连接在一起的正确方法是什么.AFAIK,我可以添加RepeatVector或return_seq=True.您可以在以下代码中查看我的两个模型.我想知道会有什么不同,哪种方法是正确的?
第一个模型使用return_sequence=True:
inputEncoder = Input(shape=(28, 1))
firstEncLayer = LSTM(112, return_sequences=True)(inputEncoder)
snd = LSTM(56, return_sequences=True)(firstEncLayer)
outEncoder = LSTM(28)(snd)
context = RepeatVector(1)(outEncoder)
context_reshaped = Reshape((28,1))(context)
encoder_model = Model(inputEncoder, outEncoder)
firstDecoder = LSTM(112, return_sequences=True)(context_reshaped)
outDecoder = LSTM(1, return_sequences=True)(firstDecoder)
autoencoder = Model(inputEncoder, outDecoder)
Run Code Online (Sandbox Code Playgroud)
第二个模型RepeatVector:
inputEncoder = Input(shape=(28, 1))
firstEncLayer = LSTM(112)(inputEncoder)
firstEncLayer = RepeatVector(1)(firstEncLayer)
snd = LSTM(56)(firstEncLayer)
snd = RepeatVector(1)(snd)
outEncoder = LSTM(28)(snd)
encoder_model = Model(inputEncoder, outEncoder)
context = RepeatVector(1)(outEncoder)
context_reshaped = Reshape((28, 1))(context)
firstDecoder = …Run Code Online (Sandbox Code Playgroud) 我正在尝试在React组件中加载languages.json文件.当我想导入json文件时,我在第一步收到以下错误.这是错误:
ERROR in ./app/languages.json
Module parse failed: /.../languages.json Unexpected token (1:12)
You may need an appropriate loader to handle this file type.
SyntaxError: Unexpected token (1:12)
at Parser.pp.raise (........)
Run Code Online (Sandbox Code Playgroud)
我正在使用webpack,这是配置文件:
var path = require('path');
var webpack = require('webpack');
module.exports = {
entry: ['./app/main.jsx'],
devtool: 'cheap-module-eval-source-map',
output: { path: __dirname+"/app", filename: 'bundle.js' },
module: {
loaders: [
{ test: /\.jsx?$/,
loader: 'babel-loader',
query: { presets: ['es2015', 'react'] },
include: path.join(__dirname, 'src')
}
]
}
};
Run Code Online (Sandbox Code Playgroud)
我安装了这些包:
"babel-core": "^6.2.1",
"babel-loader": "^6.2.0",
"babel-preset-es2015": …Run Code Online (Sandbox Code Playgroud) 在组件的渲染部分中,我有以下div:
<div className="col-sm-8" >
<input ref='full_link' className="formctrl" name='full_link' type='text'
value={browser.getURL(this.props.params.id)} />
</div>
Run Code Online (Sandbox Code Playgroud)
要为此组件编写测试单元,我尝试浅显示它(const component = shallow(<myComponent />);)并返回此错误:
TypeError: Cannot read property 'id' of undefined
Run Code Online (Sandbox Code Playgroud)
所以我需要在测试中将这个道具发送给我的组件.我应该如何发送id从this.props.params.id浅度呈现?
我已经在 Keras 中为一些时间序列训练了以下模型:
input_layer = Input(batch_shape=(56, 3864))
first_layer = Dense(24, input_dim=28, activation='relu',
activity_regularizer=None,
kernel_regularizer=None)(input_layer)
first_layer = Dropout(0.3)(first_layer)
second_layer = Dense(12, activation='relu')(first_layer)
second_layer = Dropout(0.3)(second_layer)
out = Dense(56)(second_layer)
model_1 = Model(input_layer, out)
Run Code Online (Sandbox Code Playgroud)
然后我定义了一个新模型,其中包含经过训练的层,model_1并添加了具有不同速率 的 dropout 层drp:
input_2 = Input(batch_shape=(56, 3864))
first_dense_layer = model_1.layers[1](input_2)
first_dropout_layer = model_1.layers[2](first_dense_layer)
new_dropout = Dropout(drp)(first_dropout_layer)
snd_dense_layer = model_1.layers[3](new_dropout)
snd_dropout_layer = model_1.layers[4](snd_dense_layer)
new_dropout_2 = Dropout(drp)(snd_dropout_layer)
output = model_1.layers[5](new_dropout_2)
model_2 = Model(input_2, output)
Run Code Online (Sandbox Code Playgroud)
然后我得到这两个模型的预测结果如下:
result_1 = model_1.predict(test_data, batch_size=56)
result_2 = model_2.predict(test_data, batch_size=56)
Run Code Online (Sandbox Code Playgroud)
我期望得到完全不同的结果,因为第二个模型有新的 dropout 层并且这两个模型不同(IMO),但事实并非如此。两者都产生相同的结果。为什么会这样?
这就是我的数据的样子:
id date rt dnm
101122 2017-01-24 0.0 70
101122 2017-01-08 0.0 49
101122 2017-04-13 0.02976 67
101122 2017-08-03 1.02565 39
101122 2016-12-01 0.0 46
101122 2017-01-25 0.0 69
101122 2017-01-02 0.0 76
101122 2017-07-18 0.02631 38
101122 2016-06-02 0.0 120
221344 2016-10-21 0.00182 176
221344 2016-09-21 0.47732 194
221344 2016-06-23 0.0 169
221344 2017-10-10 0.91391 151
221344 2017-04-29 0.0 33
221344 2017-02-05 0.0 31
221344 2017-10-16 0.0 196
221344 2016-09-25 0.0 33
221344 2016-07-17 0.0 21
221344 2016-07-21 0.0 …Run Code Online (Sandbox Code Playgroud)