Advertisement
BERKYT

Project ML

Jun 3rd, 2022
781
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.41 KB | None | 0 0
  1. # Обучение модель предсказывать, насколько хорошо последовательности будут работать для РНК-интерференции.
  2.  
  3. import deepchem as dc
  4. import tensorflow as tf
  5. import tensorflow.keras.layers as layers
  6. import matplotlib.pyplot as plot
  7.  
  8. # Построение модели.
  9.  
  10. features = tf.keras.Input(shape=(21, 4))
  11. prev = features
  12. for i in range(2):
  13.     prev = layers.Conv1D(filters=10, kernel_size=10, activation=tf.nn.relu, padding='same')(prev)
  14.     prev = layers.Dropout(rate=0.3)(prev)
  15. output = layers.Dense(units=1, activation=tf.math.sigmoid)(layers.Flatten()(prev))
  16. keras_model = tf.keras.Model(inputs=features, outputs=output)
  17. model = dc.models.KerasModel(
  18.     keras_model,
  19.     loss=dc.models.losses.L2Loss(),
  20.     batch_size=1000,
  21.     model_dir='rnai')
  22.  
  23. # Загружаем данные для обучения.
  24.  
  25. train = dc.data.DiskDataset('train_siRNA')
  26. valid = dc.data.DiskDataset('valid_siRNA')
  27.  
  28. # Обучение модель, отслеживая ее производительность в наборах данных для обучения и проверки.
  29.  
  30. metric = dc.metrics.Metric(dc.metrics.pearsonr, mode='regression')
  31. for i in range(20):
  32.     model.fit(train, nb_epoch=10)
  33.     print(model.evaluate(train, [metric])['pearsonr'])
  34.     print(model.evaluate(valid, [metric])['pearsonr'])
  35.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement