TłoThreading w rurociągu wejściowym tensorflow za
Typowe wejście rurociąg w tensorflow wygląda następująco:
tf.train.string_input_producer(list_of_filenames)
(creates queue of filenames)
|
\|/
fixed length reader reads records from the files
|
\|/
Read records are decoded and processed(eg if dealing with images then cropping,flipping etc)
|
\|/
tf.train.shuffle_batch(tensors,num_threads)
(creates a shuffling queue and returns batches of tensors)
Problem
Q1) nie istnieje argument NUM_THREADS w TF funkcji .train.string_input_producer(). Czy to oznacza, że tylko pojedynczy wątek jest przeznaczony do odczytu nazw plików z kolejki nazw plików?
Q2) Jaki jest zakres argumentu num_threads funkcji tf.train.shuffle_batch() np. Liczba wymienionych tu wątków jest używana do odczytywania, dekodowania i przetwarzania plików lub są one używane do tworzenia partii tensorów?
Q3) Czy istnieje sposób drukowania, który wątek odczytuje nazwy plików lub zapisy z określonego pliku, np. Rodzaj zapisu pracy wykonanej przez każdy wątek?
Należy unikać zadawanie wielu pytań naraz na SO. Zadawanie wielu pytań w jednym, dobrze, pytanie nie działa z użyciem formatu Q/A, którego używa SO i może odwrócić ludzi, którzy mogą odpowiedzieć tylko na jedno z pytań. – etarion
@etarion mogą one wyglądać na wiele pytań, ale są one bardzo skorelowane. Są to wszystkie elementy wejściowe rurociągu tensorflow.Jeśli ktoś zdolny do odpowiedzi na którekolwiek z nich na pewno będzie w stanie odpowiedzieć na wszystko z niewielkim wysiłkiem. Po prostu chciałem być pewien o odpowiedziach. –
"Gdyby ktokolwiek, kto byłby w stanie odpowiedzieć na którekolwiek z nich, z pewnością byłby w stanie odpowiedzieć na wszystko z niewielkim wysiłkiem". Każdy, kto jest uprawniony do złożenia tego oświadczenia, byłby w stanie odpowiedzieć na pytania, więc jeśli możesz złożyć to oświadczenie, dlaczego sam nie odpowiesz na to pytanie? – etarion