簡體   English   中英

為什么我使用 random.randint 生成相同的數字?

[英]Why am I generating the same number using random.randint?

所以我有這個 function 來生成用於語義分割的圖像增強,我希望得到具有相應圖像掩碼的隨機圖像。

i = 1  # variable to iterate till images_to_generate

while i <= images_to_generate:
    number = random.randint(0, len(images))  # PIck a number to select an image & mask
    image = images[number]
    mask = masks[number]
    # print(image, mask)
    # image=random.choice(images) #Randomly select an image name
    original_image = io.imread(image)
    original_mask = io.imread(mask)
    transformed_image = None
    transformed_mask = None
    #     print(i)
    n = 0  # variable to iterate till number of transformation to apply
    transformation_count = random.randint(0, len(transformations))  # choose random number of transformation to apply on the image
    print(number)
    print(transformation_count)
    while n <= transformation_count:
        key = random.choice(list(transformations))  # randomly choosing method to call
        seed = random.randint(1,100)  # Generate seed to supply transformation functions.
        transformed_image = transformations[key](original_image, seed)
        transformed_mask = transformations[key](original_mask, seed)
        n = n + 1

    new_image_path = "%s/augmented_image_%s.jpg" % (img_augmented_path, i)
    new_mask_path = "%s/augmented_mask_%s.png" % (msk_augmented_path, i)  # Do not save as JPG
    io.imsave(new_image_path, transformed_image)
    io.imsave(new_mask_path, transformed_mask)
    i = i + 1

但我一直得到相同的圖像編號和相同的轉換

為什么會這樣?

這是因為您的seed = random.seed(1,100)負責自定義隨機生成器的起始編號。 因此,您將始終獲得第一個相同的“隨機”數字。

在此處查看完整文檔: https://www.w3schools.com/python/ref_random_seed.asp

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM