[{"data":1,"prerenderedAt":476},["ShallowReactive",2],{"content-query-UxAFsGZjwP":3},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"date":10,"cover":11,"type":12,"body":13,"_type":470,"_id":471,"_source":472,"_file":473,"_stem":474,"_extension":475},"/version-updates/en/1515","en",false,"","MindSpore 1.7 Brings Usability to a New Level","Our newest version provides improved usability, simplifies installation, and provides extensive documents and videos to help you quickly get started.","2022-04-29","https://obs-mindspore-file.obs.cn-north-4.myhuaweicloud.com/file/2023/09/15/7600ac3ff333414b853d419e7af8c284.png","version-updates",{"type":14,"children":15,"toc":467},"root",[16,24,30,39,44,52,57,62,75,80,91,99,104,117,125,130,165,176,184,203,211,223,246,301,312,320,325,330,340,348,353,364,372,377,382,390,395,400,405,410,421,429,434,439,446,451,456],{"type":17,"tag":18,"props":19,"children":21},"element","h1",{"id":20},"mindspore-17-brings-usability-to-a-new-level",[22],{"type":23,"value":8},"text",{"type":17,"tag":25,"props":26,"children":27},"p",{},[28],{"type":23,"value":29},"The new MindSpore 1.7 is released on the back of hard work from our community developers. Our newest version provides improved usability of MindSpore, simplifies installation, and provides extensive documents and videos to help you quickly get started. In the new version, we also provide an easy-to-use and flexible NumPy module to further enhance MindSpore capabilities for AI and scientific computing fields. In addition, the new version also introduces MindSpore Vision, a computer vision tool library that supports mainstream networks to supercharge MindSpore-based applications. Here is a detailed look at the key features of MindSpore 1.7.",{"type":17,"tag":25,"props":31,"children":32},{},[33],{"type":17,"tag":34,"props":35,"children":36},"strong",{},[37],{"type":23,"value":38},"1. Better Usability for a Quick Start on MindSpore",{"type":17,"tag":25,"props":40,"children":41},{},[42],{"type":23,"value":43},"Based on the feedback from developers, we have improved the usability of MindSpore in terms of installation, documentation, and debugging. These improvements are designed to help you quickly get started with MindSpore, understand the principles, logic, and features of the framework, and complete installation, development, and debugging tasks more easily and efficiently.",{"type":17,"tag":25,"props":45,"children":46},{},[47],{"type":17,"tag":34,"props":48,"children":49},{},[50],{"type":23,"value":51},"1.1 Simplified Installation",{"type":17,"tag":25,"props":53,"children":54},{},[55],{"type":23,"value":56},"MindSpore 1.7 now supports macOS on x86/M1 CPUs and Python 3.8 in the Windows/Linux/macOS environment and provides automatic installation scripts with actionable installation guides, documentation, and video guides. The installation process of dependencies of the GPU version is also simplified.",{"type":17,"tag":25,"props":58,"children":59},{},[60],{"type":23,"value":61},"Tutorials about data processing, network creation, and model training are available in different levels of difficulty, to fit users with varying levels of experience. In the future, we will provide common end-to-end cases and tutorial videos for CV, NLP, and other domains to help you master these techniques.",{"type":17,"tag":25,"props":63,"children":64},{},[65,67],{"type":23,"value":66},"MindSpore Tutorial: ",{"type":17,"tag":68,"props":69,"children":73},"a",{"href":70,"rel":71},"https://www.mindspore.cn/tutorials/en/master/index.html",[72],"nofollow",[74],{"type":23,"value":70},{"type":17,"tag":25,"props":76,"children":77},{},[78],{"type":23,"value":79},"Videos of the MindSpore Hands-on Tutorial have been optimized. The extensive library now covers the entire process of installation, data processing, model training/inference, and debugging.",{"type":17,"tag":25,"props":81,"children":82},{},[83,85],{"type":23,"value":84},"MindSpore Hands-on Tutorial: ",{"type":17,"tag":68,"props":86,"children":88},{"href":87},"#title99",[89],{"type":23,"value":90},"https://www.mindspore.cn/resources/courses/list/en?id=96#title99",{"type":17,"tag":25,"props":92,"children":93},{},[94],{"type":17,"tag":34,"props":95,"children":96},{},[97],{"type":23,"value":98},"1.2 Checkpoints Saved Upon Exceptions for Resumable Training",{"type":17,"tag":25,"props":100,"children":101},{},[102],{"type":23,"value":103},"MindSpore 1.7 automatically saves your work at checkpoints upon exceptions, allowing you to resume training from the different checkpoints. Exception-triggered checkpoints are independent from periodically saved checkpoints, allowing you to choose one as needed.",{"type":17,"tag":25,"props":105,"children":106},{},[107,109,115],{"type":23,"value":108},"For details, see ",{"type":17,"tag":68,"props":110,"children":113},{"href":111,"rel":112},"https://gitee.com/mindspore/docs/blob/r1.7/tutorials/source_en/advanced/train/save.md",[72],[114],{"type":23,"value":111},{"type":23,"value":116},".",{"type":17,"tag":25,"props":118,"children":119},{},[120],{"type":17,"tag":34,"props":121,"children":122},{},[123],{"type":23,"value":124},"1.3 Hook Feature for Improved Network Debugging Efficiency (Dynamic Graph Mode)",{"type":17,"tag":25,"props":126,"children":127},{},[128],{"type":23,"value":129},"The Hook feature is available for operations in PyNative mode. This feature helps accurately capture the changes of data in each layer of a deep learning network without changing the network structure. It efficiently captures input and output data of intermediate layer operators and backward gradient. In MindSpore 1.7, the register_forward_pre_hook, register_forward_hook, and register_backward_hook functions are provided in the PyNative mode for Cell objects.",{"type":17,"tag":131,"props":132,"children":133},"ol",{},[134,145,155],{"type":17,"tag":135,"props":136,"children":137},"li",{},[138,143],{"type":17,"tag":34,"props":139,"children":140},{},[141],{"type":23,"value":142},"register_forward_pre_hook",{"type":23,"value":144}," interface is used to register a custom Hook function on the Cell object to capture the input data of the Cell object during forward propagation.",{"type":17,"tag":135,"props":146,"children":147},{},[148,153],{"type":17,"tag":34,"props":149,"children":150},{},[151],{"type":23,"value":152},"register_forward_hook",{"type":23,"value":154}," interface is used to register a custom Hook function on the Cell object to capture the output data of the Cell object during forward propagation and the output data.",{"type":17,"tag":135,"props":156,"children":157},{},[158,163],{"type":17,"tag":34,"props":159,"children":160},{},[161],{"type":23,"value":162},"register_backward_hook",{"type":23,"value":164}," is used on the Cell object to register a custom Hook function and capture the gradients related to the Cell object during backpropagation.",{"type":17,"tag":25,"props":166,"children":167},{},[168,169,175],{"type":23,"value":108},{"type":17,"tag":68,"props":170,"children":173},{"href":171,"rel":172},"https://gitee.com/mindspore/docs/blob/r1.7/tutorials/source_zh_cn/advanced/pynative_graph/pynative.ipynb",[72],[174],{"type":23,"value":171},{"type":23,"value":116},{"type":17,"tag":25,"props":177,"children":178},{},[179],{"type":17,"tag":34,"props":180,"children":181},{},[182],{"type":23,"value":183},"1.4 Model Development Experience Optimization",{"type":17,"tag":25,"props":185,"children":186},{},[187,189,194,196,201],{"type":23,"value":188},"The MindSpore interfaces, such as layers in ",{"type":17,"tag":34,"props":190,"children":191},{},[192],{"type":23,"value":193},"mindspore.nn",{"type":23,"value":195}," and operators in ",{"type":17,"tag":34,"props":197,"children":198},{},[199],{"type":23,"value":200},"mindspore.ops",{"type":23,"value":202},", are optimized to provide a simplified development experience in both static and dynamic graph modes. With the MindSpore Usability SIG, we will continue to release more premium MindSpore-developed AI models, as well as best practices and videos.",{"type":17,"tag":25,"props":204,"children":205},{},[206],{"type":17,"tag":34,"props":207,"children":208},{},[209],{"type":23,"value":210},"2. Easy-to-Use and Flexible NumPy Module Accelerates MindSpore AI + Scientific Computing",{"type":17,"tag":25,"props":212,"children":213},{},[214,216,221],{"type":23,"value":215},"The ",{"type":17,"tag":34,"props":217,"children":218},{},[219],{"type":23,"value":220},"mindspore.numpy",{"type":23,"value":222}," module contains a complete set of APIs that comply with NumPy specifications. You can use the native NumPy syntax to express MindSpore models and use the acceleration feature of MindSpore.",{"type":17,"tag":25,"props":224,"children":225},{},[226,228,232,234,238,240,244],{"type":23,"value":227},"As an example of the advanced computing of ",{"type":17,"tag":34,"props":229,"children":230},{},[231],{"type":23,"value":220},{"type":23,"value":233},", MindSpore 1.7 provides the NumPy reconstructed version of MindSPONGE, a molecular simulation library. MindSPONGE supports common ensembles including canonical ensemble (NVT) and isothermal–isobaric ensemble (NPT), for example, the simulation of SARS-CoV-2 Delta variant. The GPU kernel functions have been reconstructed based on ",{"type":17,"tag":34,"props":235,"children":236},{},[237],{"type":23,"value":220},{"type":23,"value":239}," to better reveal the operation mechanism of the molecular dynamics algorithms and facilitate algorithm expansion. Since ",{"type":17,"tag":34,"props":241,"children":242},{},[243],{"type":23,"value":220},{"type":23,"value":245}," supports other acceleration features of MindSpore such as graph compilation acceleration and graph kernel fusion, this version of MindSPONGE achieves similar performance to the original version, but with > 50% reduction in code.",{"type":17,"tag":25,"props":247,"children":248},{},[249,253,255,259,261,266,268,273,275,280,282,287,288,293,294,299],{"type":17,"tag":34,"props":250,"children":251},{},[252],{"type":23,"value":220},{"type":23,"value":254}," is both an accelerated version of NumPy and also a simplified programming tool for building neural networks. ",{"type":17,"tag":34,"props":256,"children":257},{},[258],{"type":23,"value":220},{"type":23,"value":260}," includes many essential interfaces for neural network construction, such as ",{"type":17,"tag":34,"props":262,"children":263},{},[264],{"type":23,"value":265},"ones",{"type":23,"value":267},", ",{"type":17,"tag":34,"props":269,"children":270},{},[271],{"type":23,"value":272},"full",{"type":23,"value":274},", and ",{"type":17,"tag":34,"props":276,"children":277},{},[278],{"type":23,"value":279},"zeros",{"type":23,"value":281}," for tensor creation, and common tensor operations like ",{"type":17,"tag":34,"props":283,"children":284},{},[285],{"type":23,"value":286},"concatenate",{"type":23,"value":267},{"type":17,"tag":34,"props":289,"children":290},{},[291],{"type":23,"value":292},"repeat",{"type":23,"value":274},{"type":17,"tag":34,"props":295,"children":296},{},[297],{"type":23,"value":298},"split",{"type":23,"value":300},". These interfaces allow you to implement functions without instantiating each operator.",{"type":17,"tag":25,"props":302,"children":303},{},[304,305,311],{"type":23,"value":108},{"type":17,"tag":68,"props":306,"children":309},{"href":307,"rel":308},"https://www.mindspore.cn/docs/en/master/api_python/mindspore.numpy.html",[72],[310],{"type":23,"value":307},{"type":23,"value":116},{"type":17,"tag":25,"props":313,"children":314},{},[315],{"type":17,"tag":34,"props":316,"children":317},{},[318],{"type":23,"value":319},"3. Data Processing Tuned for Fast Processing",{"type":17,"tag":25,"props":321,"children":322},{},[323],{"type":23,"value":324},"MindSpore 1.7 includes Dataset AutoTune, a tool for automatic optimization of data processing. This tool adjusts the parallelism and memory usage of data pipelines of MindSpore Data (a training data processing engine) based on the current system resources during training, thereby accelerating processing of data pipelines.",{"type":17,"tag":25,"props":326,"children":327},{},[328],{"type":23,"value":329},"During network training, Dataset AutoTune continuously detects training performance bottlenecks in the data processing pipelines, and tunes the parameters of each operation (such as GeneratorDataset, map, and batch) in the pipeline to supercharge operations. To date, the parameters that can be adjusted include operation parallelism, internal queue depth, and memory usage, to help accelerate the model training process. Flexible adjustment of more pipeline parameters, including heterogeneous operator acceleration and operator fusion, will be supported in the future, so stay tuned.",{"type":17,"tag":25,"props":331,"children":332},{},[333,334],{"type":23,"value":108},{"type":17,"tag":68,"props":335,"children":338},{"href":336,"rel":337},"https://gitee.com/mindspore/docs/blob/r1.7/tutorials/experts/source_en/debug/dataset_autotune.md",[72],[339],{"type":23,"value":336},{"type":17,"tag":25,"props":341,"children":342},{},[343],{"type":17,"tag":34,"props":344,"children":345},{},[346],{"type":23,"value":347},"4. MindSpore Vision: an Easy-to-Use and Understandable Tool Library",{"type":17,"tag":25,"props":349,"children":350},{},[351],{"type":23,"value":352},"MindSpore Vision is an open source computer vision research tool library based on MindSpore. This library incorporates base, reusable AI functions and supports mainstream state-of-the-art networks, such as EfficientNet, LeNet, MobileNetV2, ResNet and ViT. MindSpore Vision also provides functions that can be deployed on mobile devices for inference. We welcome all contributions, so if you're interest, feel free participate in the development and maintenance of MindSpore Vision.",{"type":17,"tag":25,"props":354,"children":355},{},[356,357,363],{"type":23,"value":108},{"type":17,"tag":68,"props":358,"children":361},{"href":359,"rel":360},"https://www.mindspore.cn/vision/docs/en/master/index.html",[72],[362],{"type":23,"value":359},{"type":23,"value":116},{"type":17,"tag":25,"props":365,"children":366},{},[367],{"type":17,"tag":34,"props":368,"children":369},{},[370],{"type":23,"value":371},"5. Protein Structure Prediction Model Training and Inference for Biomedicine",{"type":17,"tag":25,"props":373,"children":374},{},[375],{"type":23,"value":376},"The MindSpore team worked with partners to implement a model for protein structure prediction running on the MindSpore all-scenario AI framework. Partners include experts from the China Changping Laboratory, Peking University's Biomedical Pioneering Innovation Centre (BIOPIC) and Chemistry and Molecular Engineering College, Gao Yiqin's team at the Shenzhen Bay Laboratory, and Peng Cheng Laboratory lead by Chen Jie.",{"type":17,"tag":25,"props":378,"children":379},{},[380],{"type":23,"value":381},"The joint work is carried out on Peng Cheng Cloud Brain II, an Ascend AI cluster. The model achieved 87 TM-score on the CASP14 dataset, topping the Continuous Automated Model EvaluatiOn (CAMEO) chart for three consecutive weeks in April, 2022. The model is now open source, meaning you can obtain the code from the MindSpore community.",{"type":17,"tag":25,"props":383,"children":384},{},[385],{"type":17,"tag":386,"props":387,"children":389},"img",{"alt":7,"src":388},"https://obs-mindspore-file.obs.cn-north-4.myhuaweicloud.com/file/2022/06/06/481ab381407b4dad8ae558ed7acfef2c.png",[],{"type":17,"tag":25,"props":391,"children":392},{},[393],{"type":23,"value":394},"T1052-D1 structure prediction result comparison (left) and TM-score comparison of 87 targets on CASP14 (right)",{"type":17,"tag":25,"props":396,"children":397},{},[398],{"type":23,"value":399},"Running on the Ascend AI software and hardware platform, the model enables mixed precision to slash single-step iteration from 20 seconds to 12 seconds, increasing performance by over 60%. In addition, based on the memory overcommitment capability of MindSpore, the model's training sequence length is increased from 384 to 512.",{"type":17,"tag":25,"props":401,"children":402},{},[403],{"type":23,"value":404},"To evaluate the training results objectively, the MindSpore team verified the model on 87 targets mentioned in the appendix of the AlphaFold2 paper. The average TM-score reached 87, which is basically the same as AlphaFold2.",{"type":17,"tag":25,"props":406,"children":407},{},[408],{"type":23,"value":409},"We will continue to improve the model in terms of algorithms, scale and hardware and software support, and will open our training datasets to our peers. We look forward to working with more academia and industry partners to further improve the model precision and explore more application scenarios.",{"type":17,"tag":25,"props":411,"children":412},{},[413,415],{"type":23,"value":414},"Code Repository: ",{"type":17,"tag":68,"props":416,"children":419},{"href":417,"rel":418},"https://gitee.com/mindspore/mindscience/tree/dev/MindSPONGE/mindsponge/fold",[72],[420],{"type":23,"value":417},{"type":17,"tag":25,"props":422,"children":423},{},[424],{"type":17,"tag":34,"props":425,"children":426},{},[427],{"type":23,"value":428},"6. MindSpore Quantum: SVG Graph of Quantum Circuits with Quantum Noise Simulators",{"type":17,"tag":25,"props":430,"children":431},{},[432],{"type":23,"value":433},"In the noisy intermediate-scale quantum (NISQ) era, the noise of real quantum bits is relatively large. To simulate the evolution of a quantum system in real life with higher accuracy, we introduced the noise simulation function in MindSpore 1.7. By importing different noise channels (Pauli, bit-flip, and phase-flip) to a quantum circuit, you can increase the accuracy of your noisy quantum simulation.",{"type":17,"tag":25,"props":435,"children":436},{},[437],{"type":23,"value":438},"In addition, Jupiter Notebook supports the display of SVG images of quantum circuits. By drawing a well-designed graph, you can visualize the circuit composition and make your quantum algorithm easier to understand.",{"type":17,"tag":25,"props":440,"children":441},{},[442],{"type":17,"tag":386,"props":443,"children":445},{"alt":7,"src":444},"https://obs-mindspore-file.obs.cn-north-4.myhuaweicloud.com/file/2022/06/06/5368b267425f482881ba8faa697ad93c.png",[],{"type":17,"tag":25,"props":447,"children":448},{},[449],{"type":23,"value":450},"In the left figure, we built a Bell-state quantum circuit and added two bit-flip channels to simulate the errors of the quantum system, and then sampled the quantum state of the two bits.",{"type":17,"tag":25,"props":452,"children":453},{},[454],{"type":23,"value":455},"The upper right figure shows the SVG image of the quantum circuit, and the lower right figure shows the sampling result of the quantum circuit.",{"type":17,"tag":25,"props":457,"children":458},{},[459,461],{"type":23,"value":460},"API reference: ",{"type":17,"tag":68,"props":462,"children":465},{"href":463,"rel":464},"https://www.mindspore.cn/mindquantum/docs/en/master/mindquantum.core.gates.html",[72],[466],{"type":23,"value":463},{"title":7,"searchDepth":468,"depth":468,"links":469},4,[],"markdown","content:version-updates:en:1515.md","content","version-updates/en/1515.md","version-updates/en/1515","md",1776506142880]