ในความเป็นจริง ถ้าเราเลือกได้เราคงไม่อยากเลือกผิด !
ในชีวิตเราจะมีช่วงเวลาซักกี่ครั้งที่ต้องเลือก
และถ้าเราเลือกได้จริงๆ
เราคงไม่อยากเลือกตัวเลือกที่ผิดพลาดหร่อก ….
2 อาทิตย์ที่ผ่านมาหลังจากที่จะได้รับ Project ใหม่
เป็นช่วงเวลาตื่นเต้นมากๆ ที่จะได้ทำในสิ่งที่ไม่เคยทำมาก่อน
มันเป็นความรู้สึกของการที่เห็นสิ่งใหม่ๆ
เหมือนเด็กๆที่กำลังรอว่าเมื่อไหร่จะได้ไปเที่ยว
เหมือนสมัย Ragnarok กำลังเปิดตัวใหม่ๆ
.
มันช่างเป็นช่วงเวลาที่นานผิดปกติ
แต่ละวินาทีที่เฝ้ามองนาฬิกาที่แทบล่างขวามือของคอมส์พิวเตอร์
แล้วพบว่าเมื่อไหร่จะได้เริ่มทำ Project
เมื่อไหร่จะถึงวันนั้นเสียที
.
เมื่อถึงวันที่เริ่มทำ Project จริงๆ
ความสนุกก็ได้เริ่มขึ้น และทวีคูณขึ้นเรื่อยๆ
ใบหน้าเริ่มจดจ่อคอมส์ตลอดตั้งแต่ เช้าจนถึงค่ำ
พลางเปิดเพลงไปเป็นระยะๆ
เพียงไม่กี่วัน สิ่งที่ผมต้องเจอมันก็เริ่มเยอะขึ้นๆ
.
และเริ่มหนักขึ้นเรื่อยๆ
การเขียนโค้ดในตอนนี้มันไม่ใช่ Python หรือ Pyspark อีกต่อไป
นอกจากการ Deliver งานให้ทันเวลาในแต่ละชั่วโมงแล้ว
สิ่งที่เพิ่มเติมเข้ามาคือ
Framework ใหม่… !!
ใช่แล้วครับ Pytorch และ Tensorflow
2 สิ่งที่เข้ามาพร้อมกัน และต้องรันบน Spark
…
แค่ Spark กว่าจะรันโชว์ผลให้ได้ซัก 10 บรรทัด
ยังลองผิดลองถูกกันเกือบครึ่งวันเลย
แล้วนี่ Framework ใหม่ด้วยแล้ว
โอว้โหว
บอกได้เลยว่า
xxx !!! มวากก
เด็ด !!! มวากก
เอาจริงๆตัวผมเองไม่มีเวลามาคิดหร่อกว่า เห้ยแม่งยากหวะ
เพราะตอนนี้ในหัวคือต้อง Deliver งานให้ทัน
ต้องทำให้ได้แค่นั้น
แต่ด้วยความล้าหลายวันที่ผ่านมา
และแล้วมันก็ถึงวันนี้จนได้
วันที่ …. !!!
ไม่คิดเลยว่าจะต้องเจอกับสิ่งที่มองไม่เห็น
สิ่งที่เราต้องเผชิญบางครั้งเราเองก็ไม่ได้เป็นคนเลือก
มีหลายคนบอกว่า
ถ้าเราเลือกที่จะหนีมัน
สุดท้ายแล้วเราจะไม่มีทางเลือกอีกต่อไป
แต่ถ้าวันนี้เราเลือกที่จะเผชิญหน้ากับมัน
…
ใช่แล้วครับ
เราก็ต้องเผชิญมันต่อไปนั่นแหละ !!
แต่มันง่ายขึ้นไง
มันไม่ยากเหมือนครั้งแรกใช่ไหมล่ะ !?
ในวันนั้นเองในขณะที่ผมกำลังรัน Pytorch บน Sprak
ผมก็สังเกตได้ถึงความผิดปกติจากสิ่งที่ผมพิมพ์
ทุกครั้งมันไม่เคยเกิดขึ้นมาก่อน
ราวกับว่าตาผมเริ่มเบลอ หรือผมนอนน้อยไป
ผมเริ่มลุกขึ้นไปล้างหน้า แล้วกลับมาพิมพ์โค้ดใหม่อีกครั้ง
…
มองซ้ายขวา ก็ไม่มีคนใช้ Cluster นี่หว่า !!!
กว่าจะรู้ตัวอีกทีผมก็ Restart Cluster ไปกว่า 5 รอบ
ผมเริ่มดื่มน้ำเพิ่มก่อนลงมือพิมพ์โค้ดต่อ
ในใจภาวนาขอให้รันผ่านด้วยเถิด
ในขณะนั้น ผมแก้ปัญหาแบบลืมดูเวลา
หันไปมองอีกทีเกือบตี 1 แล้ว
.
ผมพยายามบรรจงพิมพ์โค้ด และเขียนใส่กระดาษ
พร้อมทั้งเปิด Google พิมพ์ว่า Pytorch Docs อ่านตามคู่ไปด้วย
กับอีแค่คำสั่ง F.softmax()
“ทำไมมันไม่มีวะ”
ในใจก็คิดเราเขียนผิดตรงไหนวะ
เช็คโค้ดด้านบนก็ import ครบหมดแล้ว
import torch
from torch.utils.data import Dataset, Dataloader
import torch.autograd as autograd
from torch import Tensor
import torch.nn as nn
import torch.nn.functional as F
import torch.optim as optim
from torch.jit import script, trace
ขยี้ตาหลายรอบมาก “เห้ยอะไรวะ”
ใจแมร่งโคตรท้อ ล้าก็ล้า
แต่งานก็อยากให้เสร็จน่ะสิ
ไม่แน่ใจว่าสัปหงก หรืออะไรดลใจให้เหลืบไปมอง บรรทัดข้างล่าง
.
%run /path/path/path/utilities
ความง่วงที่มีอยู่หายเป็นปริดทิ้ง
โอว้โห อ้าย สลัดผัก
เห้ยเอ็งโหลด Function ข้ามไฟลล์นี่ไง !!!
และในไฟลล์นั้นก็มีการใช้งานโค้ดว่า
import pyspark.sql.function as F
ครับ….. ….!!!
ตีสามแล้วนะ !!
ถ้าเลือกได้จริงๆ
ผมก็คงเลือก
import torch.nn.functional as XXX
สรุป !!
เช็ค Library ที่ใช้ก่อนดีดีว่าเราย่อชื่อซ้ำกันไหม
เพราะอาจจะเจอเรื่องสยองขวัญแบบบอยด์ ก็เป็นได้ !!!
ราตรีสวัสดิ์ครับ
