PeterJohnPyTorch
Python IDE with PyTorch
Only for iPhone
USD 19.99 · Designed for iPhone. Not verified for macOS.
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
more "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.0329.2102 3 days ago
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.0316.2301 18 Mar
'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.0301.0839 3 Mar
'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
2026.0216.2112 18 Feb
the "PyRun_StringFlags() returns Nil but PyErr_Print() outputs Empty" Problem Solved Version;
we Changed Two Things at this time.
****1) we Solved the "PyRun_StringFlags() returns Nil but PyErr_Print() outputs Empty" Problem;
When you go to RunScriptView for the first time after you installed this App,
you needed to once go back to EditScriptView and then needed to go to RunScriptView again.
It was Due to that Py_FinalizeEx() wasNot called before Py_Initialize() was called.
and it was Hard to solve this problem
'cause the error message "fopen failed for data file: errno = 2 (No such file or directory), Errors found! Invalidating cache..." has Hidden this problem for many years.
As a result, the error message "fopen failed for data file: errno = 2 (No such file or directory), Errors found! Invalidating cache..." didNot relate to the problem that PyRun_StringFlags() returns Nil
for the first time when you installed this App.
Best Regards,
--Yasushi Yassun Obata
2026.0121.0604 22 Jan
opencv/cmake/iOS.cmake CMAKE_OSX_DEPLOYMENT_TARGET "15.0" withOut cv::dnn Version;
Now You Can Use "OpenCV-Python" withOut cv::dnn at "PeterJohnPyTorch"
on iOS15 iPhone such as iPhone6Splus.
"S" of "6S" stands for "Steve".
So we canNot Forget "iPhone6Splus".
****Examples Are the Same Even on iOS15;
TutorialSeason003/s006opencvPythonMachineLearning.py;
TutorialSeason003/s007opencvPythonVideoCaptureMachineLearning.py
Enjoy MachineLearning.
Enjoy DeepLearning.
Best Regards,
--Yasushi Yassun Obata
2025.1107.2231 10/11/2025
'OpenCV-Python' ( OpenCV-Python Bindings ) without cv::dnn Available Version;
****Yes, You Can Use 'OpenCV-Python' without cv::dnn on 'PeterJohnPyTorch';
'without cv::dnn' Means that 'PeterJohnPyTorch' doesNot include OpenCV::DNN(DeepNeuralNetwork) module.
It is Due to 'Protobuf' Conflict Problem
'cause PyTorch uses its own Protobuf
and OpenCV::DNN(DeepNeuralNetwork) module has its own Protobuf,
and OpenCV::DNN(DeepNeuralNetwork) module is Tightly Combined with its own Protobuf.
Since there was No Way,
we built 'OpenCV-Python' without DNN module for 'PeterJohnPyTorch'.
but, Since 'PeterJohnPyTorch' can use 'PyTorch' for DNN(DeepNeuralNetwork),
So it will Not become any Big Problem.
Please Use 'PyTorch' for DNN(DeepNeuralNetwork)
and Just Use 'OpenCV-Python' for image processing.
****
if you have any Strong Reason Not to use PyTorch
But to Use OpenCV::DNN(DeepNeuralNetwork) module on iPhone,
please use 'PeterJohnNumPy' or 'PeterJohnNumPyMatplotlib'.
****Restriction in the 'PeterJohnThreeDim';
'OpenCV-Python' needs NumPy as the data representation,
so PeterJohnThreeDim which doesNot have NumPy,
canNot Support 'OpenCV-Python'.
if you need 'OpenCV-Python',
please Upgrade to 'PeterJohnNumPy', ''PeterJohnNumPyMatplotlib'
or 'PeterJohnPyTorch'.
****Two Examples;
We prepared two examples at this time;
TutorialSeason003/s006opencvPythonMachineLearning.py;
TutorialSeason003/s007opencvPythonVideoCaptureMachineLearning.py
****Two-Unimplemented Features;
OpenCV-Python on PeterJohnNumPy has Two-Unimplemented Features;
1) cap = cv2.VideoCapture()
OpenCV-Python on PeterJohnNumPy can't start
VideoCapture directly.
2) ret, img = cap.read()
OpenCV-Python on PeterJohnNumPy can't read frame
from VideoCamera directly.
But, instead of Abobe Two,
Use 'pjOpenCV as cvCPP';
So that you Can Edit the image captured from VideoCamera,
using 'OpenCV-Python'.
****How to Edit the image captured from VideoCamera;
1) setup VideoCapture;
import pjOpenCV as cvCPP
cvCPP.setVideoCaptureFPS(10)
##cvCPP.initVideoCaptureBackCamera()
cvCPP.initVideoCaptureFrontCamera()
##cvCPP.flipCamera() ## flipCamera()
2) start VideoCapture;
captured image is Stored as the UIImage 'srcImg';
cvCPP.startVideoCapture()
import cv2
3) To Get Captured image, use 'cvCPP.saveSrcImg()'.
cvCPP.saveSrcImg( srcAbsPath )
img = cv2.imread( srcAbsPath )
4) Edit the NumPy image, Using "OpenCV-Python".
5) To Reflect the edited NumPy image on the UIImage 'destImg',
use 'cvCPP.createDestImg';
cv2.imwrite(destAbsPath, img)
cvCPP.createDestImg(destAbsPath)
6) To Show the UIImage 'destImg', use 'cvCPP.showDestImg()'.
cvCPP.showDestImg()
Enjoy MachineLearning,
Enjoy DeepLearning,
--Yasushi Yassun Obata
2025.1103.1127 04/11/2025
"s002PyTorchMpsDeepColorization" Version;
PeterJohnPyTorch Can Use MPS, MetalPerformanceShader, backend.
This doesNot Use OpenCV Nor SKimage but Uses Only PyTorch.
Enjoy DeepLearning.
--Yasushi Yassun Obata
"tk.stopTkTimer()" BugFix and Adjusted "s04timerTest.py" Version;
in "TutorialSeason001/s04timerTest.py",
we Found a Bug that "tk.stopTkTimer()" function didNot make the stop of Timer.
We Fixed the Bug and Adjusted "s04timerTest.py" a Little
so that User Can Understand Easily How to Use
both "tk.startTimerAfterFunction()" and "tk.stopTkTimer()" functions.
And in some of "TutorialSeason001" examples,
we Added "tk.stopTkTimer()"
So that each example Can Avoid influence from the other example
which Uses Timer in the Same Projects.
And One More Thing,
at this timing,
we added Six Functions Below to "tkInter" module.
It will help you to create some of Apps which use different Font Size or different Font Color,
especially to create some of Games.
**Added Function;;
tk.setLabelFontSize(labelNodeName, fontSize)
tk.setLabelFontColor(labelNodeName, r, g, b, a)
tk.setMainLabelFontSize(fontSize)
tk.setMainLabelFontColor(r, g, b, a)
tk.setTitleLabelFontSize(fontSize)
tk.setTitleLabelFontColor(r, g, b, a)
BestRegards,
--Yasushi Yassun Obata
2025.1006.2319 07/10/2025
"s003ConnectFourMctsCppGame.py" and "s004ConnectFourTraining.py" BugFix Version;
We Apologize that
MCTS, MonteCarloTreeSearch, C++ Version had a Bug that MCTS C++ version did Not explore the Game Tree,
so it was Very Weak.
We Fixed the Bug. Now MCTS C++ version explores the Game Tree.
So MCTS C++ Version Became Strong.
****TutorialSeason005/s003ConnectFourMctsCppGame.py
Became Strong.
****TutorialSeason005/s004ConnectFourTraining.py
which Uses the MCTS C++ Version to Train.
in The Results of Training,
RedReward and YellowReward became Almost Same Values such as 64.5 versus 64.
it means the MCTS C++ Version became Strong.
****TutorialSeason005/s005ConnectFourGame.py
which Uses the Trained Data on "s004ConnectFourTraining.py".
so it became Strong.
****Why did we make MCTS, MonteCarloTreeSearch, C++ Version??;;
NumPy is Ten times Faster than Python,
and C++ is Ten times Faster than NumPy,
As a Result, C++ is Hundred times Faster than Python.
Enjoy Deep Learning.
Enjoy Reinforcement Learning.
Best Regards,
--Yasushi Yassun Obata
2025.0927.1537 29/09/2025
"TutorialSeason001/s10ThreeDimAMACE.py" 5.4inch iPhone such as iPhone13mini Available Version;
in 'RunScriptView', fourDirectionPadNode and fourButtonMousePadNode Became Bigger,
So that You Can Play the Game "All Men Are Created Equal"
on 5.4inch, 375x812 Pixel, iPhone such as iPhone13mini.
Enjoy it.
--Yasushi Yassun Obata
2025.0923.2129 24/09/2025
"Non-threading-Thread" s001python3.py Version;
"pjCommandLineTools/s001python3.py" does No Longer Use "threading.Thread" library
'cause "threading.Thread" has been UnStable on CPython3.9.9.
This is Due to the GIL, Global Interpreter Lock.
If PCE, Python C Extension, became Thread-Safe,
if GIL was Abolished,
if the "immortal objects" problem of "free Threading" was Solved,
and if CPython became Ten Times Faster than CPython3.9.9,
we might resurRect the Thread version of s001python.py.
Until the day will come,
Enjoy the "Non-threading-Thread" s001python3.py version.
One More Thing,
If you need Speed or High Performance in CPython3.9.9,
please Use "PeterJohnPyTorch"'s MPS, MetalPerformanceShader, backend
Since MPS, MetalPerformanceShader, is Available on the "PeterJohnPyTorch".
Best Regards,
--Yasushi Yassun Obata.
2025.0920.1628 22/09/2025
'pjThreeDim' module Added Version;
We are trying to Add 'pjThreeDim' module for All the 'PeterJohn' Series
except for the App which doesNot have 'EditScript' function such as 'PeterJohnNumpyConnectFour'.
At the first, we added 'pjThreeDim' to PeterJohnPyTorch.
PeterJohnV4, PeterJohnNumpy, PeterJohnNumpyMatplotlib and PeterJohnPyTorch
have both 'EditScript' function and 'RunScript' function.
PeterJohnNumpyConnectFour has Only 'RunScript' function.
'pjThreeDim' module provides the feature for user to create 3D Model Games.
You Can Play the game "All Men Are Created Equal" which uses 'pjThreeDim' module
from
'TutorialSeason001/s10ThreeDimAMACE.py'.
AMACE stands for 'All Men Are Created Equal'.
Best Regards,
--Yasushi Yassun Obata
2025.0908.0145 08/09/2025
Corresponded To Xcode16 and PyRun_StringFlags() Version;
we Updated Two things in this version.
1) we have Built PeterJohnPyToch with Xcode16 from this version.
It is supposed to work on iOS18 or later since it is Built with Xcode16.
2) we changed the Python StartUp Function from PyRun_SimpleStringFlags() to PyRun_StringFlags().
'cause PyRun_SimpleStringFlags() function returns ONLY integer ( 0( Normal End ) or -1 (AbNormal End) )
and doesNot Catch any Exception.
and 'cause PyRun_StringFlags() function might Catch an Exception and returns NULL if any Exception was Caught.
This will Make Easier for you to Debug your Python Code.
--Yasushi Yassun Obata
2025.0430.1403 30/04/2025
'torch.jit.trace()' Available Version;
Now 'PeterJohnPyTorch' Can Run 'torch.jit.trace()'
and Can Create '.ptl' ( "PyTorch Light" format ) file.
**What we Changed at this time;
1) we Added 'TutorialSeason007/S006convertDistilBertQA.py'
to show Now 'PeterJohnPyTorch' Can Create 'qa360_quantized.ptl'.
2) we Removed 'qa360_quantized.ptl' ( 180.2MBytes) file from Bundle Files.
'cause Now 'PeterJohnPyTorch' Can Create 'qa360_quantized.ptl'.
This Hepls to Decrease Downloading time and Launching time.
3) we Removed 'TutorialSeason007/S001QuestAnswerLibTorch.py'.
'cause Now we have both 'TutorialSeason007/S007QuestAnswerPyTorch.py'
and TutorialSeason007/S008QuestAnswerTransformers.py'.
If you have both PyTorch and Transformers,
you would No Longer need LibTorch Anymore.
LibTorch doesNot Work withOut Swift Language
but PyTorch and Transformers work Only With Python Language.
Best Regards,
--Yasushi Yassun Obata
2025.0308.0727 08/03/2025
MinorUpdateVersion ; "BitsAndBytesSharedObjectsFiles324MBytesRemoved" Version;
This is just a Minor Update Version.
We removed "bitsandbytes/*.so" files which were 324MBytes
'cause they were Never Used on iOS.
This will decrease the file size
( 922.1MBytes in "2024.1127.0502" Version, Sorry inconvenient, so far )
downloaded from AppStore,
and will decrease the initializing time when the app is launched.
****Removed Files;
./bitsandbytes/libbitsandbytes_cpu.so
./bitsandbytes/libbitsandbytes_cuda115_nocublaslt.so
./bitsandbytes/libbitsandbytes_cuda111_nocublaslt.so
./bitsandbytes/libbitsandbytes_cuda122_nocublaslt.so
./bitsandbytes/libbitsandbytes_cuda110.so
./bitsandbytes/libbitsandbytes_cuda114.so
./bitsandbytes/libbitsandbytes_cuda120.so
./bitsandbytes/libbitsandbytes_cuda115.so
./bitsandbytes/libbitsandbytes_cuda121.so
./bitsandbytes/libbitsandbytes_cuda118_nocublaslt.so
./bitsandbytes/libbitsandbytes_cuda121_nocublaslt.so
./bitsandbytes/libbitsandbytes_cuda111.so
./bitsandbytes/libbitsandbytes_cuda122.so
./bitsandbytes/libbitsandbytes_cuda120_nocublaslt.so
./bitsandbytes/libbitsandbytes_cuda123_nocublaslt.so
./bitsandbytes/libbitsandbytes_cuda117.so
./bitsandbytes/libbitsandbytes_cuda123.so
./bitsandbytes/libbitsandbytes_cuda110_nocublaslt.so
./bitsandbytes/libbitsandbytes_cuda114_nocublaslt.so
./bitsandbytes/libbitsandbytes_cuda118.so
./bitsandbytes/libbitsandbytes_cuda117_nocublaslt.so
Best Regards,
--Yasushi Yassun Obata
2025.0224.0246 24/02/2025
'OnnxStream' Stable-Diffusion XL Turbo Version;
Sorry, this isNot 'PyTorch' Stable-Diffusion But 'OnnxStream' Stable-Diffusion
'cause we wanted to run Stable-Diffusion on the iPhone which has Less than 6GBytes RAM
such as iPhone6Splus (2GBytes RAM), iPhoneXR(3GBytes RAM).
****Requirements for Model;
More than 19GBytes DiskSpace.
we Recommend
More than 38GBytes ( 19GBytes X 2 ) DiskSpace
to BackUp the Models from this app's Model folder
to 'On My iPhone' using Apple 'Files' app
and to Restore the Models from 'On My iPhone'
to this app's Model folder using Apple 'Files' app.
if you don't BackUp the Models on iPhone,
it Needs Only 19GBytes.
****What we Prepared at this time;
TutorialSeason008/s001StableDiffusion.py
this is a Python Bindings of 'OnnxStream' Stable-Diffusion.
and this also provides the Function to Download Models.
'cause, though 'OnnxStream' Stable-Diffusion executes 'Curl' command
using 'System' command to download the Models,
iPhone canNot Execute both 'System' command and 'Curl' command.
****iPhone6Splus Test Result;
Diffusion Takes almost 80 seconds,
Decoding Takes almost 160 seconds,
Total almost 240 seconds. ( 6 Minutes )
****iPhoneXR Test Result;
Diffusion Takes almost 40 seconds,
Decoding Takes almost 100 seconds,
Total almost 140 seconds. ( 2 Minutes 20 Seconds )
There will be more room for improvements about the speed and the quality of 'txt2img'.
But Even if any Progress was made in the area of 'txt2img',
Human canNot invent anything New,
Human can Only Discover what Glorious Father prepared and allowed Human to Discover.
****1st John 5:20-21, ESV;
5:20 And we know that the Son of God has come and has given us understanding,
so that we may know him who is true; and we are in him who is true, in his Son Jesus Christ.
He is the true God and eternal life.
5:21 Little children, keep yourselves from idols.
--Yasushi Yassun Obata
2024.1127.0502 27/11/2024
In this Version ( 2024.0912.0830 ),
PeterJohnPyTorch Can Use MPS backend.
( Metal Performance Shaders )
Try the example below.
****What we prepared as an Example at this time.
TutorialSeason007/s009MpsAppearsFasterThanCpu.py
**"PeterJohnPyTorch" MPS backend is Compatible with Even iPhone6S Plus(A9 Chip);
It was easier to make MPS backend Available with iPhoneXR( A12 Chip iPhone ),
compared to make MPS backend Available with iPhone6S Plus( A9 Chip iPhone ).
It was Difficult to make MPS backend Available with A9 Chip iPhone,
it seemed "Mission impossible".
But, when we are the Weakest,
Glorious Father gives us the Strongest Mercy and Grace.
At the last, we could succeed to make MPS backend Available with A9 Chip iPhone.
Thank you Lord, Thank you Glorious Father.
****2 Corinthians 12:7-10, ESV;
12:7 So to keep me from becoming conceited
because of the surpassing greatness of the revelations,
a thorn was given me in the flesh, a messenger of Satan to harass me,
to keep me from becoming conceited.
12:8 Three times I pleaded with the Lord about this, that it should leave me.
12:9 But he said to me,
“My grace is sufficient for you, for my power is made perfect in weakness.”
Therefore I will boast all the more gladly of my weaknesses,
so that the power of Christ may rest upon me.
12:10 For the sake of Christ, then, I am content with weaknesses,
insults, hardships, persecutions, and calamities.
For when I am weak, then I am strong.
Best Regards,
--Yasushi Yassun Obata
2024.0912.0830 13/09/2024
2024.0815.0829 15/08/2024
"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
more Version 2026.0329.2102 3 days ago
Data Not Collected The developer does not collect any data from this app.