久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

    <i id='eNwtm'><tr id='eNwtm'><dt id='eNwtm'><q id='eNwtm'><span id='eNwtm'><b id='eNwtm'><form id='eNwtm'><ins id='eNwtm'></ins><ul id='eNwtm'></ul><sub id='eNwtm'></sub></form><legend id='eNwtm'></legend><bdo id='eNwtm'><pre id='eNwtm'><center id='eNwtm'></center></pre></bdo></b><th id='eNwtm'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='eNwtm'><tfoot id='eNwtm'></tfoot><dl id='eNwtm'><fieldset id='eNwtm'></fieldset></dl></div>

  1. <tfoot id='eNwtm'></tfoot>

  2. <small id='eNwtm'></small><noframes id='eNwtm'>

    1. <legend id='eNwtm'><style id='eNwtm'><dir id='eNwtm'><q id='eNwtm'></q></dir></style></legend>
        <bdo id='eNwtm'></bdo><ul id='eNwtm'></ul>
    2. 生成器“TypeError:‘生成器’對象不是迭代器&qu

      Generator quot;TypeError: #39;generator#39; object is not an iteratorquot;(生成器“TypeError:‘生成器’對象不是迭代器)
      <i id='Af7Ad'><tr id='Af7Ad'><dt id='Af7Ad'><q id='Af7Ad'><span id='Af7Ad'><b id='Af7Ad'><form id='Af7Ad'><ins id='Af7Ad'></ins><ul id='Af7Ad'></ul><sub id='Af7Ad'></sub></form><legend id='Af7Ad'></legend><bdo id='Af7Ad'><pre id='Af7Ad'><center id='Af7Ad'></center></pre></bdo></b><th id='Af7Ad'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='Af7Ad'><tfoot id='Af7Ad'></tfoot><dl id='Af7Ad'><fieldset id='Af7Ad'></fieldset></dl></div>

      • <bdo id='Af7Ad'></bdo><ul id='Af7Ad'></ul>

              <tfoot id='Af7Ad'></tfoot>

              <legend id='Af7Ad'><style id='Af7Ad'><dir id='Af7Ad'><q id='Af7Ad'></q></dir></style></legend>
            • <small id='Af7Ad'></small><noframes id='Af7Ad'>

                  <tbody id='Af7Ad'></tbody>
              1. 本文介紹了生成器“TypeError:‘生成器’對象不是迭代器"的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                問題描述

                限時送ChatGPT賬號..

                由于RAM內存的限制,我跟著這些指令并構建了一個生成器,它可以繪制小批量并將它們傳遞給 Keras 的 fit_generator.但是即使我繼承了序列,Keras 也無法使用多處理準備隊列.

                Due to the limitation of RAM memory, I followed these instructions and built a generator that draw small batch and pass them in the fit_generator of Keras. But Keras can't prepare the queue with the multiprocessing even I inherit the Sequence.

                這是我的多處理生成器.

                Here is my generator for multiprocessing.

                class My_Generator(Sequence):
                    def __init__(self, image_filenames, labels, batch_size):
                        self.image_filenames, self.labels = image_filenames, labels
                        self.batch_size = batch_size
                
                    def __len__(self):
                        return np.ceil(len(self.image_filenames) / float(self.batch_size))
                
                    def __getitem__(self, idx):
                        batch_x = self.image_filenames[idx * self.batch_size:(idx + 1) * self.batch_size]
                        batch_y = self.labels[idx * self.batch_size:(idx + 1) * self.batch_size]
                
                    return np.array([
                        resize(imread(file_name), (200, 200))
                           for file_name in batch_x]), np.array(batch_y)
                

                主要功能:

                batch_size = 100
                num_epochs = 10
                train_fnames = []
                mask_training = []
                val_fnames = [] 
                mask_validation = []
                

                我希望生成器通過 ID 分別在不同線程中讀取文件夾中的批次(其中 ID 如下所示:{number}.csv 用于原始圖像,{number}_label.csv 用于遮罩圖像).我最初構建了另一個更優雅的類來將每個數據存儲在一個 .h5 文件而不是目錄中.但阻止了同樣的問題.因此,如果你有代碼可以做到這一點,我也接受.

                I would like that the generator read batches in the folders seperatly in different threads by IDs (where IDs look like: {number}.csv for raw images and {number}_label.csv for mask images). I initially built another more elegant class to stock every data in one .h5 file instead of directory. But blocked of the same problem. Thus, if you have a code to do this, I'm taker also.

                for dirpath, _, fnames in os.walk('./train/'):
                    for fname in fnames:
                        if 'label' not in fname:
                            training_filenames.append(os.path.abspath(os.path.join(dirpath, fname)))
                        else:
                            mask_training.append(os.path.abspath(os.path.join(dirpath, fname)))
                for dirpath, _, fnames in os.walk('./validation/'):
                    for fname in fnames:
                        if 'label' not in fname:
                            validation_filenames.append(os.path.abspath(os.path.join(dirpath, fname)))
                        else:
                            mask_validation.append(os.path.abspath(os.path.join(dirpath, fname)))
                
                
                my_training_batch_generator = My_Generator(training_filenames, mask_training, batch_size)
                my_validation_batch_generator = My_Generator(validation_filenames, mask_validation, batch_size)
                num_training_samples = len(training_filenames)
                num_validation_samples = len(validation_filenames)
                

                在此,模型超出范圍.相信不是模型的問題所以就不貼了.

                Herein, the model is out of scope. I believe that it's not a problem of the model so I won't paste it.

                mdl = model.compile(...)
                mdl.fit_generator(generator=my_training_batch_generator,
                              steps_per_epoch=(num_training_samples // batch_size),
                              epochs=num_epochs,
                              verbose=1,
                              validation_data=None, #my_validation_batch_generator,
                              # validation_steps=(num_validation_samples // batch_size),
                              use_multiprocessing=True,
                              workers=4,
                              max_queue_size=2)
                

                報錯說明我創建的類不是Iterator:

                The error shows that the class I create is not an Iterator:

                Traceback (most recent call last):
                File "test.py", line 141, in <module> max_queue_size=2)
                File "/anaconda3/lib/python3.6/site-packages/tensorflow/python/keras/engine/training.py", line 2177, in fit_generator
                initial_epoch=initial_epoch)
                File "/anaconda3/lib/python3.6/site-packages/tensorflow/python/keras/engine/training_generator.py", line 147, in fit_generator
                generator_output = next(output_generator)
                File "/anaconda3/lib/python3.6/site-packages/tensorflow/python/keras/utils/data_utils.py", line 831, in get six.reraise(value.__class__, value, value.__traceback__)
                File "/anaconda3/lib/python3.6/site-packages/six.py", line 693, in reraise
                raise value
                TypeError: 'My_Generator' object is not an iterator
                

                推薦答案

                我遇到了同樣的問題,我通過定義一個 __next__ 方法設法解決了這個問題:

                I was having the same problem, I managed to solve this by defining a __next__ method:

                class My_Generator(Sequence):
                    def __init__(self, image_filenames, labels, batch_size):
                        self.image_filenames, self.labels = image_filenames, labels
                        self.batch_size = batch_size
                        self.n = 0
                        self.max = self.__len__()
                
                
                    def __len__(self):
                        return np.ceil(len(self.image_filenames) / float(self.batch_size))
                
                    def __getitem__(self, idx):
                        batch_x = self.image_filenames[idx * self.batch_size:(idx + 1) * self.batch_size]
                        batch_y = self.labels[idx * self.batch_size:(idx + 1) * self.batch_size]
                
                        return np.array([
                        resize(imread(file_name), (200, 200))
                           for file_name in batch_x]), np.array(batch_y)
                
                    def __next__(self):
                        if self.n >= self.max:
                           self.n = 0
                        result = self.__getitem__(self.n)
                        self.n += 1
                        return result
                

                請注意,我在 __init__ 函數中聲明了兩個新變量.

                note that I have declared two new variables in __init__ function.

                這篇關于生成器“TypeError:‘生成器’對象不是迭代器"的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

                【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

                相關文檔推薦

                What exactly is Python multiprocessing Module#39;s .join() Method Doing?(Python 多處理模塊的 .join() 方法到底在做什么?)
                Passing multiple parameters to pool.map() function in Python(在 Python 中將多個參數傳遞給 pool.map() 函數)
                multiprocessing.pool.MaybeEncodingError: #39;TypeError(quot;cannot serialize #39;_io.BufferedReader#39; objectquot;,)#39;(multiprocessing.pool.MaybeEncodingError: TypeError(cannot serialize _io.BufferedReader object,)) - IT屋-程序員軟件開
                Python Multiprocess Pool. How to exit the script when one of the worker process determines no more work needs to be done?(Python 多進程池.當其中一個工作進程確定不再需要完成工作時,如何退出腳本?) - IT屋-程序員
                How do you pass a Queue reference to a function managed by pool.map_async()?(如何將隊列引用傳遞給 pool.map_async() 管理的函數?)
                yet another confusion with multiprocessing error, #39;module#39; object has no attribute #39;f#39;(與多處理錯誤的另一個混淆,“模塊對象沒有屬性“f)
                <i id='RKAIY'><tr id='RKAIY'><dt id='RKAIY'><q id='RKAIY'><span id='RKAIY'><b id='RKAIY'><form id='RKAIY'><ins id='RKAIY'></ins><ul id='RKAIY'></ul><sub id='RKAIY'></sub></form><legend id='RKAIY'></legend><bdo id='RKAIY'><pre id='RKAIY'><center id='RKAIY'></center></pre></bdo></b><th id='RKAIY'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='RKAIY'><tfoot id='RKAIY'></tfoot><dl id='RKAIY'><fieldset id='RKAIY'></fieldset></dl></div>

                  1. <small id='RKAIY'></small><noframes id='RKAIY'>

                      <tbody id='RKAIY'></tbody>

                      • <tfoot id='RKAIY'></tfoot>
                      • <legend id='RKAIY'><style id='RKAIY'><dir id='RKAIY'><q id='RKAIY'></q></dir></style></legend>
                          <bdo id='RKAIY'></bdo><ul id='RKAIY'></ul>
                          主站蜘蛛池模板: 日本中文字幕日韩精品免费 | 免费视频一区 | 亚洲精品视频免费看 | 狠狠久久| 成人一级片在线观看 | 男人久久天堂 | 国产一级电影在线观看 | 国产乱码精品1区2区3区 | 国产综合久久 | 日韩精品在线免费 | 久久久久久高潮国产精品视 | 欧美精品二区三区 | 九九视频在线观看视频6 | 激情五月婷婷 | 浴室洗澡偷拍一区二区 | 欧美日韩综合视频 | 亚洲a在线视频 | 九九综合| 欧美综合一区二区 | 日本aa毛片a级毛片免费观看 | 欧美在线一区二区三区 | 精品国产精品三级精品av网址 | 一区二区三区免费观看 | 中文字幕亚洲在线 | 91社影院在线观看 | 国产一区欧美一区 | 国产99小视频 | 青青草国产在线观看 | 日日日操| 欧美一级免费看 | 97av在线 | 欧美激情综合 | 精品成人佐山爱一区二区 | 欧美久久久网站 | www..99re| 日本超碰 | 一a级片| 欧美一级片在线观看 | 狠狠撸在线视频 | 国产精品v | 羞羞网站免费 |