ฉันมีฟังก์ชันดั้งเดิมที่ฉันต้องการเปลี่ยนไปใช้มัลติโพรเซส:
def optimal(t0, tf, frequences, delay, ratio = 0):
First = True # First
for s in delay:
delay = 0 # delay between signals,
timelines = list()
for i in range(len(frequences)):
timelines.append(time_builder(frequences[i], t0+delay, tf))
delay += s
trio_overlap = trio_combination(timelines, ratio)
valid = True
for items in trio_overlap.values():
if len(list(set(items))) == len(items):
continue
else:
valid = False
if not valid:
continue
overlap = duo_combination(timelines)
optimal = ... depending of conditions
return optimal
หาก valid = True
หลังการทดสอบ ระบบจะคำนวณพารามิเตอร์การปรับให้เหมาะสมที่เรียกว่า optim_param
และพยายามย่อให้เล็กสุด หากต่ำกว่าเกณฑ์ที่กำหนด optim_param < 0.3
ฉันจะแยกออกจากวงและรับค่านี้เป็นคำตอบ
ปัญหาของฉันคือในขณะที่ฉันพัฒนาแบบจำลอง ความซับซ้อนเริ่มเพิ่มขึ้น และการคำนวณแบบเธรดเดียวใช้เวลานานเกินไป ฉันต้องการประมวลผลการคำนวณแบบขนาน เนื่องจากแต่ละกระบวนการจะต้องเปรียบเทียบผลลัพธ์ที่ได้รับด้วยค่า s กับค่าที่เหมาะสมที่สุดในปัจจุบัน ฉันจึงพยายามใช้คิว
นี่เป็นครั้งแรกของฉันที่ทำการประมวลผลหลายตัว และแม้ว่าฉันคิดว่าฉันมาถูกทางแล้ว แต่ฉันรู้สึกว่าโค้ดของฉันยุ่งเหยิงและไม่สมบูรณ์ ฉันขอความช่วยเหลือได้ไหม?
ขอขอบคุณ: D
shift
และfrequencies
คุณช่วยแสดงอินพุตตัวอย่างของt0
และtf
ได้ไหม นอกจากนี้ คุณสามารถแก้ไขshift
โดยใช้ขั้นตอนน้อยลงได้ไหม สมมติว่า1000
หรือ10000
ทำงานขนานกันเพื่อความสะดวกในการทดสอบเบื้องต้น - person thewaywewere   schedule 27.02.2018t0 = 0
และtf = 200
สำหรับกะ แน่นอนว่าเราสามารถเริ่มต้นด้วยnp.arange(0, 2, 0.1)
ได้ - person Mathieu   schedule 27.02.2018