mindspore.nn.MaxUnpool2dпғҒ
- class mindspore.nn.MaxUnpool2d(kernel_size, stride=None, padding=0)[жәҗд»Јз Ғ]пғҒ
mindspore.nn.MaxPool2dvpn永久免费梯子 зҡ„йҖҶиҝҮзЁӢгҖӮиӯҰе‘Ҡ
д»Һ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дёӯзҡ„дёӨдёӘеҖјеҲҶеҲ«д»ЈиЎЁй•ҝе®Ҫж–№еҗ‘з§»еҠЁзҡ„жӯҘй•ҝгҖӮиӢҘеҸ–еҖјдёә
Nonevpn永久免费梯子 пјҢ 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дёәNonevpn永久免费梯子 пјҢйӮЈд№Ҳиҫ“еҮә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 и®Ўз®—еҫ—еҲ°зҡ„з»“жһңе·®и·қеӨӘеӨ§гҖӮ
- ж”ҜжҢҒе№іеҸ°пјҡ
GPUCPU
ж ·дҫӢпјҡ
>>> 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.]]]]