鉴于PyTorch中的代码如下,Keras的等价物是什么?
class Network(nn.Module):
def __init__(self, state_size, action_size):
super(Network, self).__init__()
# Inputs = 5, Outputs = 3, Hidden = 30
self.fc1 = nn.Linear(5, 30)
self.fc2 = nn.Linear(30, 3)
def forward(self, state):
x = F.relu(self.fc1(state))
outputs = self.fc2(x)
return outputs
Run Code Online (Sandbox Code Playgroud)
是这个吗?
model = Sequential()
model.add(Dense(units=30, input_dim=5, activation='relu'))
model.add(Dense(units=30, activation='relu'))
model.add(Dense(units=3, activation='linear'))
Run Code Online (Sandbox Code Playgroud)
还是这个?
model = Sequential()
model.add(Dense(units=30, input_dim=5, activation='linear'))
model.add(Dense(units=30, activation='relu'))
model.add(Dense(units=3, activation='linear'))
Run Code Online (Sandbox Code Playgroud)
或者是吗?
model = Sequential()
model.add(Dense(units=30, input_dim=5, activation='relu'))
model.add(Dense(units=30, activation='linear'))
model.add(Dense(units=3, activation='linear'))
Run Code Online (Sandbox Code Playgroud)
谢谢
这是在Keras中定义自定义损失函数。代码如下:
from keras import backend as K
from keras.models import Sequential
from keras.layers import Dense
from keras.callbacks import EarlyStopping
from keras.optimizers import Adam
def custom_loss_function(y_true, y_pred):
a_numpy_y_true_array = K.eval(y_true)
a_numpy_y_pred_array = K.eval(y_pred)
# some million dollar worth custom loss that needs numpy arrays to be added here...
return K.mean(K.binary_crossentropy(y_true, y_pred), axis=-1)
def build_model():
model= Sequential()
model.add(Dense(16, input_shape=(701, ), activation='relu'))
model.add(Dense(16, activation='relu'))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss=custom_loss_function, optimizer=Adam(lr=0.005), metrics=['accuracy'])
return model
model = build_model()
early_stop = EarlyStopping(monitor="val_loss", patience=1)
model.fit(kpca_X, y, epochs=50, validation_split=0.2, callbacks=[early_stop], …
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个启用了LogPublishingOptions
. 虽然启用 LogPublishingOptions ES 表示它没有足够的权限在 Cloudwatch 上创建 LogStream。
我尝试创建一个带有角色的策略并将该策略附加到 ES 引用的 LogGroup,但它不起作用。以下是我的弹性搜索云形成模板,
AWSTemplateFormatVersion: 2010-09-09
Resources:
MYLOGGROUP:
Type: 'AWS::Logs::LogGroup'
Properties:
LogGroupName: index_slow
MYESROLE:
Type: 'AWS::IAM::Role'
Properties:
AssumeRolePolicyDocument:
Version: 2012-10-17
Statement:
- Effect: Allow
Principal:
Service: es.amazonaws.com
Action: 'sts:AssumeRole'
ManagedPolicyArns:
- 'arn:aws:iam::aws:policy/AmazonESFullAccess'
- 'arn:aws:iam::aws:policy/CloudWatchFullAccess'
RoleName: !Join
- '-'
- - es
- !Ref 'AWS::Region'
PolicyDocESIndexSlow :
Type: AWS::IAM::Policy
Properties:
PolicyDocument:
Version: 2012-10-17
Statement:
- Effect: Allow
Action:
- logs:PutLogEvents
- logs:CreateLogStream
Resource: 'arn:aws:logs:*'
PolicyName: !Ref MYLOGGROUP
Roles:
- !Ref MYESROLE …
Run Code Online (Sandbox Code Playgroud) amazon-web-services elasticsearch aws-cloudformation amazon-iam aws-cloudformation-custom-resource
keras ×2
amazon-iam ×1
aws-cloudformation-custom-resource ×1
numpy ×1
python ×1
pytorch ×1
tensorflow ×1