рд╣рдо рд╕рднреА рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдорд╛рддреГрднреВрдорд┐ рдХреИрд╕реЗ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ, рдФрд░ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдЧрд╣рди рд╢рд┐рдХреНрд╖рд╛ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИред рдЙрдирдХреЗ рдмрд┐рдирд╛, рдПрдХ рдореЙрдбрд▓ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдирд╛, рдЙрд╕рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдирд╛ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИред рдЕрдиреБрд╕рдВрдзрд╛рди рдореЗрдВ рд▓рдЧреЗ рд╣реБрдП, рдирдП рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдкрд░ рд▓реЗрдЦреЛрдВ рдХреЗ рд╕рд╛рде рд╣рд┐рд░реНрд╢ рдЗрдВрдбреЗрдХреНрд╕ рдХреЛ рдмрдврд╝рд╛рддреЗ рд╣реБрдП рдФрд░ рдкреНрд░рдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рд╕рдмрд╕реЗ рд╕рд░рд▓ рдбреЗрдЯрд╛ рд╕реНрд░реЛрддреЛрдВ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ; рдЖрдорддреМрд░ рдкрд░ рд╡рд┐рднрд┐рдиреНрди рд╕реНрд╡рд░реВрдкреЛрдВ рдореЗрдВ рдлрд╛рдЗрд▓реЗрдВред рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд▓рдЧрд╛рддрд╛рд░ рдмрджрд▓рддреЗ рдбреЗрдЯрд╛ рдХреЗ рдЯреЗрд░рд╛рдмрд╛рдЗрдЯ рд╡рд╛рд▓реЗ рдпреБрджреНрдз рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдпрд╛рдж рд░рдЦрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдФрд░ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдбреЗрдЯрд╛ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдФрд░ рдЧрддрд┐ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рдмрдбрд╝реЗ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣реАрдВ рдкрд░ рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдЖрддреА рд╣реИред
рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдПрдХ рд╡рд┐рддрд░рд┐рдд рдореЗрдореЛрд░реА-рдХреЗрдВрджреНрд░рд┐рдд рдбреЗрдЯрд╛рдмреЗрд╕ рд╣реИ, рд╕рд╛рде рд╣реА рд▓реЗрдирджреЗрди, рдПрдирд╛рд▓рд┐рдЯрд┐рдХреНрд╕ рдФрд░ рд╕реНрдЯреНрд░реАрдо рд▓реЛрдб рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреИрд╢рд┐рдВрдЧ рдФрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдордВрдЪ рд╣реИред рд╕рд┐рд╕реНрдЯрдо рд░реИрдо рдХреА рдЧрддрд┐ рд╕реЗ рдкреЗрдЯрд╛рдмрд╛рдЗрдЯреНрд╕ рдХреЛ рдкреАрд╕рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИред рд▓реЗрдЦ рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдФрд░ рдЯреЗрдиреНрд╕рд░рдлреНрд▓реЛ рдХреЗ рдмреАрдЪ рдПрдХреАрдХрд░рдг рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реЗрдЧрд╛, рдЬреЛ рдЖрдкрдХреЛ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдФрд░ рдЕрдиреБрдорд╛рди рдХреЗ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде рд╡рд┐рддрд░рд┐рдд рдХрд┐рдП рдЧрдП рд╕реАрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдореЙрдбрд▓ рдФрд░ рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ рдкреНрд░рдмрдВрдзрди рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рднрдВрдбрд╛рд░ рднреА рд╣реИред
рд╡рд┐рддрд░рд┐рдд RAM рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд
рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдЖрдкрдХреЛ рдПрдХ рд╡рд┐рддрд░рд┐рдд рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдЬрд┐рддрдирд╛ рдбреЗрдЯрд╛ рдЪрд╛рд╣рд┐рдП рдЙрддрдирд╛ рд╕реНрдЯреЛрд░ рдФрд░ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред TensorFlow рдореЗрдВ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рддреЗ рд╕рдордп рдЗрд╕ рдЕрдкрд╛рдЪреЗ рдХреЛ рдЗрдЧреНрдирд╛рдЗрдЯ рдХрд░рдиреЗ рдХрд╛ рд▓рд╛рдн рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрдЧреНрдирд╛рдЗрдЯ рдбреЗрдЯрд╛рд╕реИрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдиреЛрдЯ: рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдпрд╛ рдбреЗрдЯрд╛ рд╡реЗрдпрд░рд╣рд╛рдЙрд╕ рдФрд░ рдЯреЗрдиреНрд╕рд░рдлреНрд▓реЛ рдХреЗ рдмреАрдЪ рдИрдЯреАрдПрд▓ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдореЗрдВ рд▓рд┐рдВрдХ рдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рдирд╣реАрдВ рд╣реИред рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ
HTAP (рдЯреНрд░рд╛рдВрд╕реЗрдХреНрд╢рдирд▓ / рдПрдирд╛рд▓рд┐рдЯрд┐рдХрд▓ рдбреЗрдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣рд╛рдЗрдмреНрд░рд┐рдб рд╕рд┐рд╕реНрдЯрдо) рд╣реИред Apache Ignite рдФрд░ TensorFlow рдХреЛ рдЪреБрдирддреЗ рд╣реБрдП, рдЖрдкрдХреЛ рдЯреНрд░рд╛рдВрд╕реЗрдХреНрд╢рдирд▓ рдФрд░ рдПрдирд╛рд▓рд┐рдЯрд┐рдХрд▓ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рд╕рд┐рд╕реНрдЯрдо рдорд┐рд▓рддрд╛ рд╣реИ, рдФрд░ рд╕рд╛рде рд╣реА, рдиреНрдпреВрд░рд▓ рдиреЗрдЯрд╡рд░реНрдХ рдФрд░ рдЗрдВрдЯреНрд░реЗрдВрд╕ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдСрдкрд░реЗрд╢рдирд▓ рдФрд░ рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реЛрддреА рд╣реИред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд╛рдирджрдВрдб рдпрд╣ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдЙрди рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЕрдиреБрдХреВрд▓ рд╣реИ, рдЬрд╣рд╛рдВ рдбреЗрдЯрд╛ рдПрдХрд▓ рд╣реЛрд╕реНрдЯ рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИред рдРрд╕реА рдкреНрд░рдгрд╛рд▓реА рдЖрдкрдХреЛ 850 рдПрдордмреА / рдПрд╕ рд╕реЗ рдЕрдзрд┐рдХ рдХреЗ рдереНрд░реВрдкреБрдЯ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ, рдпрджрд┐ рдбреЗрдЯрд╛ рд╡реЗрдпрд░рд╣рд╛рдЙрд╕ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдПрдХ рд╣реА рдиреЛрдб рдкрд░ рд╕реНрдерд┐рдд рд╣реИрдВред рдпрджрд┐ рднрдВрдбрд╛рд░рдг рджреВрд░рд╕реНрде рд╣реЛрд╕реНрдЯ рдкрд░ рд╕реНрдерд┐рдд рд╣реИ, рддреЛ рдереНрд░реВрдкреБрдЯ рд▓рдЧрднрдЧ 800 рдПрдордмреА / рдПрд╕ рд╣реИред

рдЧреНрд░рд╛рдлрд╝ рдПрдХрд▓ рд╕реНрдерд╛рдиреАрдп рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдиреЛрдб рдХреЗ рд▓рд┐рдП рдЗрдЧреНрдирд╛рдЗрдЯ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЗ рд▓рд┐рдП рдмреИрдВрдбрд╡рд┐рдбреНрде рджрд┐рдЦрд╛рддрд╛ рд╣реИред рдпреЗ рдкрд░рд┐рдгрд╛рдо рдПрдХ 2x Xeon E5-2609 v4 1.7GHz рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд░ 16GB RAM рдкрд░ рдФрд░ 10GB / s рдХреЗ рдмреИрдВрдбрд╡рд┐рдбреНрде рдХреЗ рд╕рд╛рде рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдЧрдП рдереЗ (рдкреНрд░рддреНрдпреЗрдХ рд░рд┐рдХреЙрд░реНрдб рдХрд╛ рдЖрдХрд╛рд░ 1 рдПрдордмреА, рдкреГрд╖реНрда рдЖрдХрд╛рд░ - 20 рдПрдордмреА) рд╣реИред
рдПрдХ рдЕрдиреНрдп рдмреЗрдВрдЪрдорд╛рд░реНрдХ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рдХреИрд╕реЗ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдП рдЧрдП рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд╕рд╛рде рдЗрдЧреНрдирд╛рдЗрдЯ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╡рд╣ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реИ рдЬреЛ рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдЪрдЯреАрдПрдкреА рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд░реВрдк рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ 10 рдЬреАрдмреА / рдПрд╕ рдХреЗ рдмреИрдВрдбрд╡рд┐рдбреНрде рдХреЗ рд╕рд╛рде рдХреНрд▓рд╕реНрдЯрд░ рдкрд░ 1 рдЬреАрдмреА / рдПрд╕ рд╕реЗ рдЕрдзрд┐рдХ рдПрдХрд▓ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдмреИрдВрдбрд╡рд┐рдбреНрде рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдЧреНрд░рд╛рдл рдПрдХ рд╡рд┐рддрд░рд┐рдд рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдиреЛрдбреНрд╕ (1 рд╕реЗ 9 рддрдХ) рдХреЗ рд╕рд╛рде рдЗрдЧреНрдирд╛рдЗрдЯ рджреИрдЯрд╕реЗрдЯ рдереНрд░реВрдкреБрдЯ рджрд┐рдЦрд╛рддрд╛ рд╣реИред рдпреЗ рдкрд░рд┐рдгрд╛рдо рдПрдХ 2x Xeon E5-2609 v4 1.7GHz рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд░ 16GB RAM рдФрд░ 10GB / s рдХреЗ рдмреИрдВрдбрд╡рд┐рдбреНрде рдХреЗ рд╕рд╛рде рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдЧрдП рдереЗ (рдкреНрд░рддреНрдпреЗрдХ рд░рд┐рдХреЙрд░реНрдб рдХрд╛ рдЖрдХрд╛рд░ 1 рдПрдордмреА, рдкреГрд╖реНрда рдЖрдХрд╛рд░ - 20 рдПрдордмреА) рд╣реИред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рджреГрд╢реНрдп рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛: рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдХреИрд╢ (рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдкрд╣рд▓реЗ рд╕реЗрдЯ рдореЗрдВ рд╡рд┐рднрд╛рдЬрди рдХреА рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдФрд░ рджреВрд╕рд░реЗ рдореЗрдВ 2048 рд╡рд┐рднрд╛рдЬрди рдХреЗ рд╕рд╛рде) 1 рдПрдордмреА рдкреНрд░рддреНрдпреЗрдХ рдХреА 10K рд▓рд╛рдЗрдиреЛрдВ рд╕реЗ рднрд░рд╛ рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж TensorFlow рдЧреНрд░рд╛рд╣рдХ рдЗрдЧреНрдирд╛рдЗрдЯ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрдЯрд╛ рдЬреЛрдбрд╝рддрд╛ рд╣реИред рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ 2x Xeon E5-2609 v4 1.7 GHz, 16 рдЬреАрдмреА рдореЗрдореЛрд░реА рдХреЗ рд╕рд╛рде рдорд╢реАрдиреЛрдВ рд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ 10 рдЬреАрдмреА / рдПрд╕ рдХреА рдЧрддрд┐ рд╕реЗ рд╕рдВрдЪрд╛рд▓рд┐рдд рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рдерд╛ред рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдб рдкрд░, рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдиреЗ
рдорд╛рдирдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛ред
рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдПрд╕рдХреНрдпреВрдПрд▓-рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд╕рд╛рде рдХреНрд▓рд╛рд╕рд┐рдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╕рд╛рди рд╣реИ рдФрд░ рд╕рд╛рде рд╣реА рдЯреЗрдВрд╕реЛрд░рдлреНрд▓реЛ рдХреЗ рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рдХреЗ рд░реВрдк рдореЗрдВред
$ apache-ignite/bin/ignite.sh $ apache-ignite/bin/sqlline.sh -u "jdbc:ignite:thin://localhost:10800/"
CREATE TABLE KITTEN_CACHE (ID LONG PRIMARY KEY, NAME VARCHAR); INSERT INTO KITTEN_CACHE VALUES (1, 'WARM KITTY'); INSERT INTO KITTEN_CACHE VALUES (2, 'SOFT KITTY'); INSERT INTO KITTEN_CACHE VALUES (3, 'LITTLE BALL OF FUR');
import tensorflow as tf from tensorflow.contrib.ignite import IgniteDataset tf.enable_eager_execution() dataset = IgniteDataset(cache_name="SQL_PUBLIC_KITTEN_CACHE") for element in dataset: print(element)
{'key': 1, 'val': {'NAME': b'WARM KITTY'}} {'key': 2, 'val': {'NAME': b'SOFT KITTY'}} {'key': 3, 'val': {'NAME': b'LITTLE BALL OF FUR'}}
рд╕рдВрд░рдЪрд┐рдд рд╡рд╕реНрддреБ
рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдЖрдкрдХреЛ рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдХрд┐рд╕реА рднреА рдкрджрд╛рдиреБрдХреНрд░рдо рдореЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЖрдк рдЗрдЧреНрдирд╛рдЗрдЯ рдбреЗрдЯрд╛рд╕реИрдЯ рдХреЗ рдЬрд░рд┐рдП рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
import tensorflow as tf from tensorflow.contrib.ignite import IgniteDataset tf.enable_eager_execution() dataset = IgniteDataset(cache_name="IMAGES") for element in dataset.take(1): print(element)
{ 'key': 'kitten.png', 'val': { 'metadata': { 'file_name': b'kitten.png', 'label': b'little ball of fur', 'width': 800, 'height': 600 }, 'pixels': [0, 0, 0, 0, ..., 0] } }
рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдФрд░ рдЕрдиреНрдп
рд╕рдВрдЧрдгрдирд╛рдУрдВ рдХреЛ рдкреВрд░реНрд╡-рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕реЗ рдпрджрд┐ рдЖрдк
рдЗрдЧреНрдирд╛рдЗрдЯ рдбреЗрдЯрд╛рд╕реИрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ
tf.data рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
import tensorflow as tf from tensorflow.contrib.ignite import IgniteDataset tf.enable_eager_execution() dataset = IgniteDataset(cache_name="IMAGES").map(lambda obj: obj['val']['pixels']) for element in dataset: print(element)
[0, 0, 0, 0, ..., 0]
рд╡рд┐рддрд░рд┐рдд рдкреНрд░рд╢рд┐рдХреНрд╖рдг
TensorFlow рдПрдХ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣реИ рдЬреЛ рд╡рд┐рддрд░рд┐рдд рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рд╕реАрдЦрдиреЗ, рдЕрдиреБрдорд╛рди рдФрд░ рдЕрдиреНрдп рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдХрд╛
рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ ред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╣рд╛рдирд┐ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЧреНрд░реЗрдбрд┐рдПрдВрдЯреНрд╕ рдХреА рдЧрдгрдирд╛ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рд╡рд┐рддрд░рд┐рдд рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рднрд╛рдЬрди рдкрд░ рдЗрди рдЧреНрд░реЗрдбрд┐рдПрдВрдЯреНрд╕ рдХреА рдЧрдгрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдПрдХрддреНрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдРрд╕реА рд╡рд┐рдзрд┐ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдиреЛрдбреНрд╕ рдХреЗ рд▓рд┐рдП рдЧреНрд░реЗрдбрд┐рдПрдВрдЯ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ, рдЬрд┐рд╕ рдкрд░ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЕрдВрдд рдореЗрдВ, рдореЙрдбрд▓ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реИред рдФрд░, рдЪреВрдВрдХрд┐ рд╣рдордиреЗ рдиреЛрдбреНрд╕ рдХреЗ рдмреАрдЪ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдирдореВрдирд╛ рдбреЗрдЯрд╛ рдХреЗ рдкреНрд░рд╕рд╛рд░рдг рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛ рд▓рд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдиреЗрдЯрд╡рд░реНрдХ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ "рдЕрдбрд╝рдЪрди" рдирд╣реАрдВ рдмрдирддрд╛ рд╣реИред
рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдПрдХ рд╡рд┐рддрд░рд┐рдд рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд╖реИрддрд┐рдЬ рд╡рд┐рднрд╛рдЬрди (рд╢рд╛рд░реНрдХрд┐рдВрдЧ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред Apache Ignite cache (рдпрд╛ SQL рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдПрдХ рддрд╛рд▓рд┐рдХрд╛) рдмрдирд╛рдХрд░, рдЖрдк рдЙрди рд╡рд┐рднрд╛рдЬрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдирдХреЗ рдмреАрдЪ рдбреЗрдЯрд╛ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдПрдХ рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ 100 рдорд╢реАрдиреЗрдВ рд╣реИрдВ, рдФрд░ рд╣рдо 1000 рд╡рд┐рднрд╛рдЬрди рдХреЗ рд╕рд╛рде рдПрдХ рдХреИрд╢ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдкреНрд░рддреНрдпреЗрдХ рдорд╢реАрди рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рд▓рдЧрднрдЧ 10 рд╡рд┐рднрд╛рдЬрди рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реЛрдЧреАред
рдЗрдЧреНрдирд╛рдЗрдЯ рдбреЗрдЯрд╛рд╕реИрдЯ рдЖрдкрдХреЛ рддрдВрддреНрд░рд┐рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд╡рд┐рддрд░рд┐рдд рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдЗрди рджреЛ рдкрд╣рд▓реБрдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдкреНрд░рдЬреНрд╡рд▓рд┐рдд рдбреЗрдЯрд╛рд╕реЗрдЯ
рдЧрдгрдирд╛ рдЧреНрд░рд╛рдл рдиреЛрдб рд╣реИ рдЬреЛ TensorFlow рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХрд╛ рдЖрдзрд╛рд░ рдмрдирддрд╛ рд╣реИред рдФрд░, рдПрдХ рдЧреНрд░рд╛рдл рдореЗрдВ рдХрд┐рд╕реА рднреА рдиреЛрдб рдХреА рддрд░рд╣, рдпрд╣ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдПрдХ рджреВрд░рд╕реНрде рдиреЛрдб рдкрд░ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рджреВрд░рд╕реНрде рдиреЛрдб
IGNITE_DATASET_HOST
рдорд╛рдкрджрдВрдбреЛрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
host
,
port
рдпрд╛
part
) рдХреЛ
IGNITE_DATASET_HOST
, рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╡рд╛рддрд╛рд╡рд░рдг рдЪрд░ рд╕реЗрдЯ рдХрд░ рд░рд╣рд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
IGNITE_DATASET_HOST
,
IGNITE_DATASET_PORT
рдпрд╛
IGNITE_DATASET_PART
)ред рдЗрд╕ рддрд░рд╣ рдХреЗ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдб рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рднрд╛рдЬрди рдЕрд╕рд╛рдЗрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рддрдм рдПрдХ рдиреЛрдб рдПрдХ рд╡рд┐рднрд╛рдЬрди рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд╛ рдПрдХ рдореБрдЦреМрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред
import tensorflow as tf from tensorflow.contrib.ignite import IgniteDataset dataset = IgniteDataset("IMAGES")
рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рднреА TensorFlow рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп
рдПрд╕реНрдЯреАрдореЗрдЯрд░ рдПрдкреАрдЖрдИ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рддрд░рд┐рдд рд╕реАрдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ TensorFlow рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рд╕реАрдЦрдиреЗ рдХреЗ рддрдерд╛рдХрдерд┐рдд
рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рдХреНрд▓рд╛рдЗрдВрдЯ рдореЛрдб рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдЬрд╣рд╛рдВ Apache рдЗрдЧреНрдирд╛рдЗрдЯ рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рдФрд░ рдХреНрд▓рд╕реНрдЯрд░ рдкреНрд░рдмрдВрдзрди рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред рдЕрдЧрд▓рд╛ рд▓реЗрдЦ рдЗрд╕ рд╡рд┐рд╖рдп рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд░реНрдкрд┐рдд рд╣реЛрдЧрд╛ред
рд▓рд░реНрдирд┐рдВрдЧ рдХрдВрдЯреНрд░реЛрд▓ рдкреЙрдЗрдВрдЯ рд╕реНрдЯреЛрд░реЗрдЬ
рдбреЗрдЯрд╛рдмреЗрд╕ рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдореЗрдВ рдПрдХ рд╡рд┐рддрд░рд┐рдд
IGFS рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рднреА рд╣реИред рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд░реВрдк рд╕реЗ, рдпрд╣ Hadoop HDFS рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ RAM рдореЗрдВред рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде, IGFS рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо Hadoop FileSystem API рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкрд╛рд░рджрд░реНрд╢реА рд░реВрдк рд╕реЗ рддреИрдирд╛рдд Hadoop рдпрд╛ Spark рд╕реЗ рдЬреБрдбрд╝ рд╕рдХрддрд╛ рд╣реИред Apache рдЗрдЧреНрдирд╛рдЗрдЯ рдкрд░ TensorFlow рд▓рд╛рдЗрдмреНрд░реЗрд░реА IGFS рдФрд░ TensorFlow рдХреЗ рдмреАрдЪ рдПрдХреАрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдПрдХреАрдХрд░рдг TensorFlow рдХреЗ рд╕реНрд╡рдпрдВ рдХреЗ
рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдкреНрд▓рдЧрдЗрди рдФрд░ рдЕрдкрд╛рдЪреЗ рдкреНрд░рдЬреНрд╡рд▓рд┐рдд
рдореВрд▓ IGFS рдПрдкреАрдЖрдИ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ ред рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдкрд░рд┐рджреГрд╢реНрдп рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
- рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдФрд░ рдЧрд▓рддреА рд╕рд╣рд┐рд╖реНрдгреБрддрд╛ рдХреЗ рд▓рд┐рдП рдЖрдИрдЬреАрдПрдлрдПрд╕ рдореЗрдВ рд╕реНрдерд┐рддрд┐ рдЪреМрдХрд┐рдпреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рд╕реАрдЦрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ TensorBoard рджреНрд╡рд╛рд░рд╛ рдореЙрдирд┐рдЯрд░ рдХреА рдЧрдИ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЗрд╡реЗрдВрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд▓рд┐рдЦрдХрд░ TensorBoard рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рддреА рд╣реИред IGFS рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЬрдм TensorBoard рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдорд╢реАрди рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реЛ, рддрдм рднреА рдРрд╕реЗ рд╕рдВрдЪрд╛рд░ рдЪрд╛рд▓реВ рд╣реЛрддреЗ рд╣реИрдВред
TensorFlow 1.13.0.rc0 рдХреА рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдРрд╕реА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рджрд┐рдЦрд╛рдИ рджреА, рдФрд░ TensorFlow 2.0 рдХреА рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рднреА
рдЯреЗрдирд╕рдлрд╝реНрд▓реЛ / io рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрдЧрд╛ред
рдПрд╕рдПрд╕рдПрд▓ рдХрдиреЗрдХреНрд╢рди
рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдЖрдкрдХреЛ
рдПрд╕рдПрд╕рдПрд▓ рдФрд░ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрдЯрд╛ рдЪреИрдирд▓реЛрдВ рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрдЧреНрдирд╛рдЯ рдбреЗрдЯрд╛рд╕реЗрдЯ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд╕рд╛рде рдФрд░ рдмрд┐рдирд╛ рдПрд╕рдПрд╕рдПрд▓ рдХрдиреЗрдХреНрд╢рди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП
рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдПрд╕рдПрд╕рдПрд▓ / рдЯреАрдПрд▓рдПрд╕ рдкреНрд░рд▓реЗрдЦрди рджреЗрдЦреЗрдВред
import tensorflow as tf from tensorflow.contrib.ignite import IgniteDataset tf.enable_eager_execution() dataset = IgniteDataset(cache_name="IMAGES", certfile="client.pem", cert_password="password", username="ignite", password="ignite")
рд╡рд┐рдВрдбреЛрдЬ рдХрд╛ рд╕рдорд░реНрдерди
рдЗрдЧреНрдирд╛рдЗрдЯ рдбрд╛рдЯрд╛рд╕реЗрдЯ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реИред рдЗрд╕реЗ рд╡рд┐рдВрдбреЛрдЬ рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди рдкрд░ TensorFlow рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ, рд╕рд╛рде рд╣реА рд▓рд┐рдирдХреНрд╕ / рдореИрдХрдУрдПрд╕ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рднреА рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдЖрдЬрд╝рдорд╛рдПрдВ
рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдЖрдкрдХреЛ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдЖрд░рдВрдн рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВрдЧреЗред
рдбрд╛рдЯрд╛рд╕реЗрдЯ рдкреНрд░рдЬреНрд╡рд▓рд┐рдд рдХрд░реЗрдВ
рдЗрдЧреНрдирд╛рдИрдЯ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдЖрд░рдВрдн рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИ
рдбреЙрдХрдЯрд░ рдХрдВрдЯреЗрдирд░ рдХреЛ рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдирд╛ рдФрд░
рдПрдордПрдирдЖрдИрдПрд╕рдЯреАрдЯреА рдбреЗрдЯрд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛, рдФрд░ рдлрд┐рд░ рдЗрдЧреНрдирд╛рдЗрдЯ рдбреЗрдЯрд╛рд╕реИрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ред рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдХрдВрдЯреЗрдирд░ рдбреЛрдХрд░ рд╣рдм рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИ:
dmitrievanthony / ignite-with-mnist ред рдЖрдкрдХреЛ рдЕрдкрдиреА рдорд╢реАрди рдкрд░ рдХрдВрдЯреЗрдирд░ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
docker run -it -p 10800:10800 dmitrievanthony/ignite-with-mnist
рдЙрд╕рдХреЗ рдмрд╛рдж, рдЖрдк рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

рдХреЛрдб import tensorflow as tf from tensorflow.contrib.ignite import IgniteDataset tf.enable_eager_execution() import matplotlib.pyplot as plt %matplotlib inline dataset = IgniteDataset("MNIST_CACHE") for i, img in enumerate(dataset.take(5)): plt.subplot(2, 5, i + 1) plt.rcParams['figure.figsize'] = (5, 5) plt.imshow(img['val']['pixels'].numpy().reshape([28, 28])) plt.axis('off')
IGFS
TensorFlow IGF рд╕рдкреЛрд░реНрдЯ TensorFlow 1.13.0rc0 рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рдФрд░ рдпрд╣ TensorFlow 2.0 рдореЗрдВ рдЯреЗрдирд╕рдлрд╝реНрд▓реЛ
/ io рд░рд┐рд▓реАрдЬрд╝ рдХрд╛ рднреА рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрдЧрд╛ред TensorFlow рдХреЗ рд╕рд╛рде IGFS рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдбреЙрдХ рдХрдВрдЯреЗрдирд░ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдЕрдкрд╛рдЪреЗ рдЗрдЧреНрдирд╛рдЗрдЯ + IGFS рдХреЗ рд╕рд╛рде рд╣реИ, рдФрд░ рдлрд┐рд░ TensorFlow
tf.gfile рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВред рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдХрдВрдЯреЗрдирд░ рдбреЛрдХрд░ рд╣рдм рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИ:
dmitrievanthony / ignite-with-igfs ред рдЗрд╕ рдХрдВрдЯреЗрдирд░ рдХреЛ рдЖрдкрдХреА рдорд╢реАрди рдкрд░ рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
docker run -it -p 10500:10500 dmitrievanthony/ignite-with-igfs
рддреЛ рдЖрдк рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
import tensorflow as tf import tensorflow.contrib.ignite.python.ops.igfs_ops with tf.gfile.Open("igfs:///hello.txt", mode='w') as w: w.write("Hello, world!") with tf.gfile.Open("igfs:///hello.txt", mode='r') as r: print(r.read())
Hello, world!
рдкреНрд░рддрд┐рдмрдВрдз
рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдЬрдм рдЗрдЧреНрдирд╛рдЗрдЯ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреИрд╢ рдореЗрдВ рд╕рднреА рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреА рд╕рдВрд░рдЪрдирд╛ (рд╕рдЬрд╛рддреАрдп рд╡рд╕реНрддреБрдПрдВ) рд╕рдорд╛рди рд╣реИрдВ, рдФрд░ рдХреИрд╢ рдореЗрдВ рд╕реНрдХреАрдорд╛ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо рдПрдХ рд╡рд╕реНрддреБ рд╢рд╛рдорд┐рд▓ рд╣реИред рдПрдХ рдФрд░ рд╕реАрдорд╛ рдХреА рдЪрд┐рдВрддрд╛ рд╕рдВрд░рдЪрд┐рдд рд╡рд╕реНрддреБрдУрдВ рд╕реЗ рд╣реЛрддреА рд╣реИ: рдЗрдЧреНрдирд╛рдЯ рдбреЗрдЯрд╕реЗрдЯ рдпреВрдпреВрдЖрдИрдбреА, рдореИрдкреНрд╕ рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕рд░рдгрд┐рдпреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрди рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЛ рд╣рдЯрд╛рдирд╛, рд╕рд╛рде рд╣реА TensorFlow рдФрд░ Apache Ignite рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рд╕реНрдерд┐рд░ рдФрд░ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рдирд╛, рдЪрд▓ рд░рд╣реЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред
рдЕрдкреЗрдХреНрд╖рд┐рдд TensorFlow 2.0 рд╕рдВрд╕реНрдХрд░рдг
TensorFlow 2.0 рдореЗрдВ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдмрджрд▓рд╛рд╡, рдЗрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ
рдЯреЗрдВрд╕реЛрд░рдлреНрд▓реЛ / io рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдЙрдЬрд╛рдЧрд░ рдХрд░реЗрдВрдЧреЗред рдЬрд┐рд╕рдХреЗ рдмрд╛рдж, рдЙрдирдХреЗ рд╕рд╛рде рдХрд╛рдо рдЕрдзрд┐рдХ рд▓рдЪреАрд▓реЗ рдврдВрдЧ рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдереЛрдбрд╝рд╛ рдмрджрд▓ рдЬрд╛рдПрдВрдЧреЗ, рдФрд░ рдпрд╣ рдЬрд┐рд╣рд╛рдм рдФрд░ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдкрд░рд┐рд▓рдХреНрд╖рд┐рдд рд╣реЛрдЧрд╛ред