mindspore.nn.MaxUnpool2dпғҒ

class mindspore.nn.MaxUnpool2d(kernel_size, stride=None, padding=0)[жәҗд»Јз Ғ]пғҒ

mindspore.nn.MaxPool2d vpn永久免费梯子 зҡ„йҖҶиҝҮзЁӢгҖӮ

иӯҰе‘Ҡ

д»Һ2.9.0пјҲдёҚеҗ«пјүд№ӢеҗҺзүҲжң¬ејҖе§ӢпјҢеҸӮж•° x е°ҶйҮҚе‘ҪеҗҚдёә inputгҖӮ

MaxUnpool2d еңЁи®Ўз®—иҝҮзЁӢдёӯпјҢдҝқз•ҷжңҖеӨ§еҖјдҪҚзҪ®зҡ„е…ғзҙ пјҢе№¶е°ҶйқһжңҖеӨ§еҖјдҪҚзҪ®е…ғзҙ и®ҫзҪ®дёә0гҖӮ ж”ҜжҢҒзҡ„иҫ“е…Ҙж•°жҚ®ж јејҸдёә \((N, C, vpn梯子 免费 H_{in}, W_{in})\) жҲ– vpn梯子 免费 \((C, vpn free H_{in}, W_{in})\) пјҢ иҫ“еҮәж•°жҚ®зҡ„дёӘж јејҸдёә \((N, 免费的vpn梯子 C, H_{out}, W_{out})\) жҲ– \((C, H_{out}, W_{out})\) пјҢи®Ўз®—е…¬ејҸеҰӮдёӢпјҡ

\[\begin{split}\begin{array}{ll} \\ H_{out} = (H_{in} - 1) \times stride[0] vpn梯子 - 2 \times padding[0] + kernel\_size[0] \\ W_{out} = (W_{in} - 1) \times stride[1] - 2 \times padding[1] + kernel\_size[1] vpn free \\ \end{array}\end{split}\]
еҸӮж•°пјҡ
  • kernel_size (Union[int, tuple[int]]) - жұ еҢ–ж ёе°әеҜёеӨ§е°ҸгҖӮintзұ»еһӢиЎЁзӨәжұ еҢ–ж ёзҡ„й•ҝе®ҪзӣёеҗҢгҖӮ tupleзұ»еһӢдёӯзҡ„дёӨдёӘеҖјеҲҶеҲ«д»ЈиЎЁжұ еҢ–ж ёзҡ„й•ҝе’Ңе®ҪгҖӮ

  • stride (Union[int, tuple[int]]) - жұ еҢ–ж“ҚдҪңзҡ„з§»еҠЁжӯҘй•ҝпјҢintзұ»еһӢиЎЁзӨәй•ҝе®Ҫж–№еҗ‘зҡ„з§»еҠЁжӯҘй•ҝзӣёеҗҢгҖӮ tupleдёӯзҡ„дёӨдёӘеҖјеҲҶеҲ«д»ЈиЎЁй•ҝе®Ҫж–№еҗ‘з§»еҠЁзҡ„жӯҘй•ҝгҖӮиӢҘеҸ–еҖјдёә None vpn永久免费梯子 пјҢ stride еҖјдёҺ kernel_size зӣёеҗҢгҖӮ й»ҳи®ӨеҖјпјҡ None гҖӮ

  • padding (Union[int, tuple[int]]) vpn梯子 免费 - еЎ«е……еҖјгҖӮй»ҳи®ӨеҖјпјҡ 0 гҖӮиӢҘдёәintзұ»еһӢпјҢеҲҷй•ҝе®Ҫж–№еҗ‘зҡ„еЎ«е……еӨ§е°ҸзӣёеҗҢпјҢеқҮдёә padding гҖӮ иӢҘдёәtupleзұ»еһӢпјҢеҲҷtupleдёӯзҡ„дёӨдёӘеҖјеҲҶеҲ«д»ЈиЎЁй•ҝе®Ҫж–№еҗ‘еЎ«е……зҡ„еӨ§е°ҸгҖӮ

иҫ“е…Ҙпјҡ
  • x (Tensor) - еҫ…жұӮйҖҶзҡ„TensorгҖӮshapeдёә \((N, C, H_{in}, W_{in})\) жҲ– \((C, H_{in}, W_{in})\) гҖӮ

  • indices (Tensor) - жңҖеӨ§еҖјзҡ„зҙўеј•гҖӮshapeеҝ…йЎ»дёҺиҫ“е…Ҙ x зӣёеҗҢгҖӮеҸ–еҖјиҢғеӣҙйңҖж»Ўи¶і \([0, H_{in} \times W_{in} - 1]\) гҖӮ ж•°жҚ®зұ»еһӢеҝ…йЎ»жҳҜint32жҲ–int64гҖӮ

  • output_size (tuple[int]пјҢ еҸҜйҖү) - иҫ“еҮәshapeгҖӮй»ҳи®ӨеҖјпјҡ None гҖӮ еҰӮжһңoutput_sizeдёә None vpn永久免费梯子 пјҢйӮЈд№Ҳиҫ“еҮәshapeж №жҚ® kernel_size гҖҒ stride е’Ң vpn梯子 免费 padding и®Ўз®—еҫ—еҮәгҖӮ еҰӮжһңoutput_sizeдёҚдёә None пјҢйӮЈд№Ҳ output_size еҝ…йЎ»ж»Ўи¶іж јејҸ \((N, C, H, W)\) пјҢ \((C, H, W)\) жҲ– \((H, W)\) пјҢеҸ–еҖјиҢғеӣҙйңҖж»Ўи¶іпјҡ \([(N, C, H_{out} - stride[0], W_{out} - stride[1]), vpn梯子 (N, C, H_{out} + stride[0], W_{out} + stride[1])]\)гҖӮ

иҫ“еҮәпјҡ

shapeдёә \((N, C, H_{out}, W_{out})\) жҲ– \((C, H_{out}, W_{out})\) зҡ„TensorпјҢж•°жҚ®зұ»еһӢдёҺиҫ“е…Ҙ x зӣёеҗҢгҖӮ

ејӮеёёпјҡ
  • TypeError - x жҲ– indices зҡ„ж•°жҚ®зұ»еһӢдёҚж”ҜжҢҒгҖӮ

  • TypeError - kernel_size пјҢ stride жҲ– padding ж—ўдёҚжҳҜж•ҙж•°д№ҹдёҚжҳҜtupleгҖӮ

  • ValueError - stride пјҢ padding жҲ– kernel_size зҡ„еҖјдёҚжҳҜйқһиҙҹзҡ„гҖӮ

  • ValueError - x е’Ң indices зҡ„shapeдёҚдёҖиҮҙгҖӮ

  • ValueError - vpn梯子 免费 kernel_size пјҢ stride жҲ– padding дёәtupleж—¶й•ҝеәҰдёҚзӯүдәҺ2гҖӮ

  • ValueError - x зҡ„й•ҝеәҰдёҚдёә3жҲ–4гҖӮ

  • ValueError - output_size зҡ„зұ»еһӢдёҚжҳҜtupleгҖӮ

  • ValueError vpn梯子 免费 - output_size зҡ„й•ҝеәҰдёҚдёә0гҖҒ3жҲ–4гҖӮ

  • ValueError - output_size зҡ„еҸ–еҖјдёҺж №жҚ® kernel_size гҖҒ stride гҖҒ padding и®Ўз®—еҫ—еҲ°зҡ„з»“жһңе·®и·қеӨӘеӨ§гҖӮ

ж”ҜжҢҒе№іеҸ°пјҡ

GPU CPU

ж ·дҫӢпјҡ

>>> import mindspore as ms
>>> import numpy as np
>>> x = ms.Tensor(np.array([[[[0, 1], [8, 9]]]]).astype(np.float32))
>>> indices = ms.Tensor(np.array([[[[0, 1], [2, 3]]]]).astype(np.int64))
>>> maxunpool2d = ms.nn.MaxUnpool2d(kernel_size=1, stride=1, padding=0)
>>> output = maxunpool2d(x, indices)
>>> 免费的vpn梯子 print(output.asnumpy())
[[[[0. 1.]
   [8. 9.]]]]