Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Обучение модель предсказывать, насколько хорошо последовательности будут работать для РНК-интерференции.
- import deepchem as dc
- import tensorflow as tf
- import tensorflow.keras.layers as layers
- import matplotlib.pyplot as plot
- # Построение модели.
- features = tf.keras.Input(shape=(21, 4))
- prev = features
- for i in range(2):
- prev = layers.Conv1D(filters=10, kernel_size=10, activation=tf.nn.relu, padding='same')(prev)
- prev = layers.Dropout(rate=0.3)(prev)
- output = layers.Dense(units=1, activation=tf.math.sigmoid)(layers.Flatten()(prev))
- keras_model = tf.keras.Model(inputs=features, outputs=output)
- model = dc.models.KerasModel(
- keras_model,
- loss=dc.models.losses.L2Loss(),
- batch_size=1000,
- model_dir='rnai')
- # Загружаем данные для обучения.
- train = dc.data.DiskDataset('train_siRNA')
- valid = dc.data.DiskDataset('valid_siRNA')
- # Обучение модель, отслеживая ее производительность в наборах данных для обучения и проверки.
- metric = dc.metrics.Metric(dc.metrics.pearsonr, mode='regression')
- for i in range(20):
- model.fit(train, nb_epoch=10)
- print(model.evaluate(train, [metric])['pearsonr'])
- print(model.evaluate(valid, [metric])['pearsonr'])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement