สมมติว่าฉันกำลังทำการวิเคราะห์ข้อมูลขนาดใหญ่ขึ้นในสมุดบันทึก Jupyter / Ipython ซึ่งมีการคำนวณที่ใช้เวลานานมาก จากนั้นด้วยเหตุผลบางประการฉันต้องปิดเซิร์ฟเวอร์ภายในเครื่อง jupyter แต่ฉันต้องการกลับไปทำการวิเคราะห์ในภายหลังโดยไม่ต้องผ่านการคำนวณที่ใช้เวลานานทั้งหมดอีกครั้ง
สิ่งที่ผมจะชอบความรักที่จะทำคือการpickle
หรือเก็บเซสชั่น Jupyter ทั้งหมด (หมีแพนด้าทุก dataframes, np.arrays ตัวแปร, ... ) ดังนั้นฉันสามารถปิดเซิร์ฟเวอร์รู้ฉันสามารถกลับไปเซสชั่นของฉันในตรงรัฐเดียวกับ ก่อน.
เป็นไปได้ในทางเทคนิคหรือไม่? มีฟังก์ชันในตัวที่ฉันมองข้ามไปหรือไม่?
แก้ไข:จากคำตอบนี้มี%store
เวทมนตร์ที่ควรจะเป็น "ผักดองน้ำหนักเบา" อย่างไรก็ตามคุณต้องจัดเก็บตัวแปรด้วยตนเองดังนี้:
#inside a ipython/nb session
foo = "A dummy string"
%store foo
ปิดการมองเห็นรีสตาร์ทเคอร์เนล
%store -r foo
# r เพื่อรีเฟรช
print(foo) # "A dummy string"
ซึ่งค่อนข้างใกล้เคียงกับสิ่งที่ฉันต้องการ แต่การต้องทำด้วยตนเองและไม่สามารถแยกความแตกต่างระหว่างเซสชันต่างๆทำให้มีประโยชน์น้อยลง