# PeterJohn PyTorch MPS — Python IDE with PyTorch MPS

> Python IDE with PyTorch MPS (iPhone/iPad app by Yasushi Obata.)

- Source: https://appshunter.io/ios/app/peterjohn-pytorch-mps/id6479538595 (this page in markdown: same URL + `.md`)
- Developer: [Yasushi Obata](https://appshunter.io/developer/899977114)
- Category: Developer Tools, Utilities
- Price: $16.99 (on sale, was $19.99)
- Age rating: 4+
- Requires: iOS 15.0 · 404 MB
- Languages: American English
- Released: 2024-08-15
- Data updated: 2026-08-14
- User reviews in markdown: https://appshunter.io/ios/app/peterjohn-pytorch-mps/id6479538595/reviews.md

## What is PeterJohn PyTorch MPS?

Now You Can Use " PyTorch " on your iPhone even when you are in the train
or when your iPhone is OffLine.

****Why we Need " PyTorch " on the Edge Device such as iPhone??;
When "Torch" is a Lamp, "iPhone" becomes a Lamp Stand.
even When you are in the train or when your iPhone is OffLine.
So doNot put "Torch" on any Basket ( Hidden Place ) but put on your "iPhone".
So that the Light of the Lamp will Shine Before Others.
Scripture( Matthew 5:13;14-16 ) Says, 
When the Light is Put on the Hill,
the City on the Hill canNot be Hidden.

****Matthew 5:13;14-16, ESV;
5:13 “You are the salt of the earth, but if salt has lost its taste, 
how shall its saltiness be restored? 
5:14 “You are the light of the world. A city set on a hill canNot be hidden. 
5:15 Nor do people light a lamp and put it under a basket, but on a stand, 
and it gives light to all in the house. 
5:16 In the same way, let your light shine before others, 
so that they may see your good works 
and give glory to your Father who is in heaven.

****TutorialSeason007;
We Prepared some of Examples
to tell you what you Can do Using PeterJohnPyTorch.
s001QuestAnswerLibTorch.py;
   This isNot PyTorch but just LibTorch.
   QuestionAnswering Demo with LibTorch.
   You canNot Customize almost Anything
   'cause LibTorch is Called Via Swift
   and 'cause Swift Needs to be Compiled 
   with XCode on MacOS.
   This example Loads any Model from "qa360_quantized.ptl" file,
    which includes "TorchScript".

s002ProvisionPyTorchTensor.py;
   This Shows PeterJohnPyTorch Can Use Tensor.
s003ProvisionPyTorchAutoGradFoundation.py;
   This Shows PeterJohnPyTorch Can Use AutoGrad.
s004ProvisionPyTorchAutoGrad.py;
   This Shows PeterJohnPyTorch Can Use AutoGrad.
s005ProvisionPyTorchNN.py;
   This Shows PeterJohnPyTorch Can Use torch.nn (NeuralNetwork).
s006ProvisionPyTorchNNoptimizer.py;
   This Shows PeterJohnPyTorch Can Use torch.nn (NeuralNetwork)
   and Optimizer.
   This Uses SGD (Stochastic Gradient Descent )  as the Optimizer.
s007QuestAnswerPyTorch.py;
   Now you Can See Not libTorch demo But PyTorch demo
   about QuestionAnswering.
   You can Customize, for example, Tokenizer
   in "pjQuestionAnswering.py" 
   Using PyTorch on iPhone.
   This example Loads any Model from "qa360_quantized.ptl" file,
    which includes "TorchScript".

s008QuestAnswerTransformers.py;
   QuestionAnswering Demo with PyTorch and Transformers.
   After you touched "Run Script",
   This example begins to Download "model.safetensors"(265.5MBytes),
   We Recommend that you make a copy of "model.safetensors",
   outside of this App "PeterJohnPyTorch",
   using Apple's "Files.app".
   So that, Even if you uninstalled this App, 
   After you installed this App "PeterJohnPyTorch" Again,
   you can put back "model.safetensors" file to "/images" directory 
   of this App "PeterJohnPyTorch".
   This example Loads  any Model from "model.safetensors" file,
    which is the Standard format of "HuggingFace".

****Some of Restrictions that We know Currently;
1) CanNot Trace any Model files using torch.jit.trace() Function;
    Since Now "PeterJohnPyTorch" canNot Create any Traced Model,
    Also it canNot Create either  ".ptl"("PyTorch Lite" format) file 
    Nor ".pt"("PyTorch" format) file right now.
2) CanNot Script any Model files using torch.jit.script() Function;
    Since Now "PeterJohnPyTorch" canNot Create any Scripted Model,
    Also it canNot Create either  ".ptl"("PyTorch Lite" format) file 
    Nor ".pt"("PyTorch" format) file right now.
    Now you Need to 
    save any Model as "model.safetensors",
    and use the Model via PyTorch or via Transformers,
   Means Write the Logic  via PyTorch or via Transformers.
3) Not Implement "MPS" (Metal Performance Shader) backends Yet;
   So Now you Need to Specify "CPU" as Device.
   The "CPU" backends is just the First Step Before the "GPU" backends.

****
Enjoy PeterJohnPyTorch even when you are in the train
or your iPhone is OffLIne.
--Yasushi Yassun Obata


## Version history (last 5 releases)

### 2026.0519.0343 — 2026-05-19

iOS26 Available and the Matplotlib 'set_xlim()' or 'set_ylim()' WorkAround Verison;

After End Of April,
we Need to Compile on New Xcode and New iOS.

And One More Thing,
we Added "TutorialSeason006/scripts/s007AbeNomicsGreatDePression.py".
it shows the WorkAround about "set_xlim()" or "set_ylim()".
For Many Years in Matplotlib,
we couldNot use "set_xlim()" or "set_ylim()".
but we Found that the WorkAround,
Pass Not Python Taple Nor Python list
But NumPy array_methodas the Arguments of "set_xlim()" or "set_ylim()".
So that it Works Well.

Best Regards,
--Yasushi Yassun Obata

### 2026.0329.2102 — 2026-03-31

"pjThreeDim became Available to GLB File" Version;

We Added Two APIs in "pjThreeDim" module
in order to make you available to GLB file.
1) pj3d.getMeshNameListFromGLBFile( GLBfileAbsPath )
2) pj3d.createSCNSceneWithGLBFilePath(
        GLBfileAbsPath,
        meshName,
        modelName,x,y,z )

In Order to know how to Use the APIs,
Please Check
"CameraAngle.create3dModelGLB(self,glbFileName,meshName,modelName) " method
in "TutorialSeason001/s009ThreeDimTest.py".

****Romans 12:6-8, NIV;
12:6 We have different gifts, according to the grace given to each of us. If your gift is prophesying, then prophesy in accordance with your faith; 
12:7 if it is serving, then serve; 
if it is teaching, then teach; 
12:8 if it is to encourage, then give encouragement; 
if it is giving, then give generously; 
if it is to lead, do it diligently; 
if it is to show mercy, do it cheerfully.

Best Regards,
--Yasushi Yassun Obata

### 2026.0316.2301 — 2026-03-18

EditScriptView-KeyWordSearch Version;

For many years, our priority was Not implementing TextEditor with "KeyWord Search" 
but implementing either NumPy or PyTorch.
But, Since Once we reached at the implementing both NumPy and PyTorch
as "PeterJohnNumPy", "PeterJohnNumPyMatplotlib", "PeterJohnPyTorch",
Now We Added "KeyWord Search" function to EditScriptView at this time.
So that You Can Search a Line and modify the Line easily.

So Far,  we needed to use iPhone's "Notes" app in order to search a Line and modify the Line,
and needed to Paste the Script to the EditScriptView again.
but Now You Can Search a Line and modify the Line easily on "PeterJohn".

***********************************************************
Minor Update of "EditScriptView-KeyWordSearch" Version;

We modified the "EditScriptView-KeyWordSearch"
'cause, when we touch "Previous" button or "Next" button, our Thumb finger of Right hand hides Number of Matches or LineNumber.
Now both Number of Matches and LineNumber is at the Left of both "Previous" button and "Next" button.
This is a Very Small Update but the change will make Easier to Use.

It seems "Search" in Japanese Language means "Happy" in English.
So we quoted the Scripture about "Happy".

****Psalm 1:1-3, GNT;Good News Translation;
1:1 Happy are those
    who reject the advice of evil people,
    who do not follow the example of sinners
    or join those who have no use for God.
1:2 Instead, they find joy in obeying the Law of the Lord,
    and they study it day and night.
1:3 They are like trees that grow beside a stream,
    that bear fruit at the right time,
    and whose leaves do not dry up.
They succeed in everything they do.

Best Regards,
--Yasushi Yassun Obata

### 2026.0301.0839 — 2026-03-03

'TutorialSeason003/s007AMACEaction.py' Added Version;

We Added Three APIs at this time.
Please Check the 'TutorialSeason003/s007AMACEaction.py' to know how to use the APIs.

import pjThreeDim as pj3d
import pjTkInter as tk
1) pj3d.setMaterial()
  Check how to use in  TutorialSeason003/pjAMACEactionCameraAngle.py;putSideWall() method;
   it will make your 3D games beautiful.
2) pj3d.removeNodeHasPrefix()
  Check how to use in  TutorialSeason003/pjAMACEactionCameraAngle.py;initGame() method;
   it will make easier to remove some of Nodes.
3) tk.removeNodeHasPrefix()
  Check how to use in  TutorialSeason003/pjAMACEactionCameraAngle.py;hideCastTheDemonOutOf(), hideBambooSpear(), hideWin1() method;
   it will make easier to remove some of Nodes.

and One More Thing,
we CommentOuted the line of "midiSampler = nil"
at IntroScene.swift and RunScriptViewChild.swift
in 
PeterJohnNumPyV4, 
PeterJohnNumPyMatplotlib and 
PeterJohnPyTorch.
So that these three Apps Can Avoid CRASH.

Best Regards,
--Yasushi Yassun Obata

### 2026.0216.2112 — 2026-02-18

's005ThreeDimSquash.py',  's006MMLshepherd.py" and "Edit" button at ScriptView Version;

we Added Three at this time.
**1) TutorialSeason002/s005ThreeDimSquash.py;
  This shows how to use pjThreeDim,
  how to Create 3D games using "PeterJohn" app.
 Please touch "TouchPadLeft" and "UpCursor"
  in order to play this game.
  TouchPadLeft - move Racket;
  UpCursor - Replay;
**2) TutorialSeason003/s006MMLshepherd.py;
  we added two of APIs into pjSound;
  import pjSound as sound
  sound.startNote(midiChannel,midiNote,midiVelocity);
  sound.stopNote(midiChannel,midiNote,midiVelocity);
  and added two of Classes,
  pjMMLshepherdClass
  pjMMLsheepClass
  in order to show how to use the API, sound.noteStart, sound.noteStop;
  Please check the code of s006MMLshepherd.py
  in order to how to use the classes, pjMMLshepherdClass, pjMMLsheepClass.
  Now you Can Play MML( Music Macro Language ) using "PeterJohn" app.
**3) "Edit" button at the TopRight of "ScriptsView";
  so that you Can Remove any Non Required File.

Best Regards,
--Yasushi Yassun Obata

## More apps by Yasushi Obata

- [YassunPsalms](https://appshunter.io/ios/app/yassunpsalms/id1617333044)
- [YassunCallUpNotice](https://appshunter.io/ios/app/yassuncallupnotice/id1621617154)
- [YassunBitterness](https://appshunter.io/ios/app/yassunbitterness/id1624704495)
- [PeterJohn ThreeDim](https://appshunter.io/ios/app/peterjohn-threedim/id1632372110)
- [PeterJohn NumPy](https://appshunter.io/ios/app/peterjohn-numpy/id1662896316)
- [PeterJohn NumPy Matplotlib](https://appshunter.io/ios/app/peterjohn-numpy-matplotlib/id6471342492)

All apps by Yasushi Obata: https://appshunter.io/developer/899977114

## Related topics

[peterjohn pytorch mps](https://appshunter.io/ios/topics/peterjohn-pytorch-mps)

---

*Data collected daily from the US App Store and indexed by [AppsHunter](https://appshunter.io/). User reviews are verbatim App Store reviews. Ratings, prices and chart positions refresh continuously; this snapshot is from 2026-08-14.*
