Papermill альбом для вырезок: возможно ли повторно склеить текст в записной книжке papermill?

#jupyter-notebook #papermill

#jupyter-notebook #papermill

Вопрос:

Я использую записную книжку Papermill («orchester_notebook») для многократного запуска «training_notebook» с разными наборами параметров.

Для каждого набора параметров сохраняется новый «result_notebook» с напечатанными результатами (текстом) и рисунками.

Я знаю, как отобразить рисунок из «result_notebook» в моем «orchester notebook»

но я хочу также отобразить текстовые результаты (точность, отчет о классификации, ….) в моем «orchester_notebook».

Вы знаете, возможно ли повторно склеить текст с помощью альбома для вырезок?

мой код ниже :

orchestrer_notebook

 import papermill as pm
import scrapbook as sb

experiment_dates = [20190101, 20190102]
features = 'my_features'
model = 'my_model'
parameters = dict({'experiment_dates' : experiment_dates, 'features' : 
features, 'model' : model})

output_filename = str(experiment_dates)   '_'   features   model

pm.execute_notebook('Training.ipynb', output_filename   '.ipynb', 
parameters=parameters)

out = sb.read_notebook(output_filename   '.ipynb')
out.reglue('figure')
  

обучающая записная книжка

 import scrapbook as sb

# training
#...........
#............

fig, ax = plt.subplots()
ax.plot(data.index, data['mydata'], c='k', alpha=.5)
sb.glue('figure', fig, 'display')

print("this is my results") # how can I reglue this in orchestrer_notebook ?
  

Ответ №1:

Я пропустил это в документе :

 """glue example for recording data values"""
import scrapbook as sb

sb.glue("hello", "world") # this answers my need to reglue text
sb.glue("number", 123)
sb.glue("some_list", [1, 3, 5])
sb.glue("some_dict", {"a": 1, "b": 2})
sb.glue("non_json", df, 'arrow')
  

Ответ №2:

Приведенный выше ответ у меня не работает, я прочитал эту другую часть документа, и приведенное ниже решение работает для меня :

в учебном блокноте :

 sb.glue("media_as_text_only",
  media_obj,
  encoder='display',
  display=('text/plain',) # This passes [text/plain] to format_display_data's include argument
)
  

в записной книжке orchetrer :

 out.reglue("media_as_text_only")