ManasSharma07 commited on
Commit
24249c5
·
verified ·
1 Parent(s): 87fb71f

show tech stack and sys info

Browse files
Files changed (1) hide show
  1. src/streamlit_app.py +81 -0
src/streamlit_app.py CHANGED
@@ -1597,5 +1597,86 @@ with st.expander('ℹ️ About This App & Foundational MLIPs'):
1597
  - For **MACE models**, isolated atom energies are computed on-the-fly.
1598
  - For **FairChem models**, isolated atom energies are based on pre-tabulated reference values (provided in a YAML-like structure within the app). Ensure the selected FairChem task type (`omol`, `omat`, etc. for UMA models) or model type (ESEN models use `omol` references) aligns with the system and has the necessary elemental references.
1599
  """)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1600
  st.markdown("Universal MLIP Playground App | Created with Streamlit, ASE, MACE, FairChem, SevenNet, ORB and ❤️")
1601
  st.markdown("Developed by [Manas Sharma](https://manas.bragitoff.com/) in the groups of [Prof. Ananth Govind Rajan Group](https://www.agrgroup.org/) and [Prof. Sudeep Punnathanam](https://chemeng.iisc.ac.in/sudeep/) at [IISc Bangalore](https://iisc.ac.in/)")
 
1597
  - For **MACE models**, isolated atom energies are computed on-the-fly.
1598
  - For **FairChem models**, isolated atom energies are based on pre-tabulated reference values (provided in a YAML-like structure within the app). Ensure the selected FairChem task type (`omol`, `omat`, etc. for UMA models) or model type (ESEN models use `omol` references) aligns with the system and has the necessary elemental references.
1599
  """)
1600
+
1601
+ with st.expander('🔧 Tech Stack & System Information'):
1602
+ import platform
1603
+ import psutil
1604
+
1605
+ st.markdown("### System Information")
1606
+
1607
+ col1, col2 = st.columns(2)
1608
+
1609
+ with col1:
1610
+ st.write("**Operating System:**")
1611
+ st.write(f"- OS: {platform.system()} {platform.release()}")
1612
+ st.write(f"- Version: {platform.version()}")
1613
+ st.write(f"- Architecture: {platform.machine()}")
1614
+ st.write(f"- Processor: {platform.processor()}")
1615
+
1616
+ st.write("\n**Python Environment:**")
1617
+ st.write(f"- Python Version: {platform.python_version()}")
1618
+ st.write(f"- Python Implementation: {platform.python_implementation()}")
1619
+
1620
+ with col2:
1621
+ st.write("**Hardware Resources:**")
1622
+ st.write(f"- CPU Cores: {psutil.cpu_count(logical=False)} physical, {psutil.cpu_count(logical=True)} logical")
1623
+ st.write(f"- CPU Usage: {psutil.cpu_percent(interval=1)}%")
1624
+
1625
+ memory = psutil.virtual_memory()
1626
+ st.write(f"- Total RAM: {memory.total / (1024**3):.2f} GB")
1627
+ st.write(f"- Available RAM: {memory.available / (1024**3):.2f} GB")
1628
+ st.write(f"- RAM Usage: {memory.percent}%")
1629
+
1630
+ disk = psutil.disk_usage('/')
1631
+ st.write(f"- Total Disk Space: {disk.total / (1024**3):.2f} GB")
1632
+ st.write(f"- Free Disk Space: {disk.free / (1024**3):.2f} GB")
1633
+ st.write(f"- Disk Usage: {disk.percent}%")
1634
+
1635
+ st.markdown("### Package Versions")
1636
+
1637
+ packages_to_check = [
1638
+ 'streamlit', 'torch', 'numpy', 'ase', 'py3Dmol',
1639
+ 'mace-torch', 'fairchem-core', 'orb-models', 'sevenn',
1640
+ 'pandas', 'matplotlib', 'scipy', 'yaml', 'huggingface-hub'
1641
+ ]
1642
+
1643
+ if mattersim_available:
1644
+ packages_to_check.append('mattersim')
1645
+
1646
+ package_versions = {}
1647
+ for package in packages_to_check:
1648
+ try:
1649
+ version = pkg_resources.get_distribution(package).version
1650
+ package_versions[package] = version
1651
+ except pkg_resources.DistributionNotFound:
1652
+ package_versions[package] = "Not installed"
1653
+
1654
+ # Display in two columns
1655
+ col1, col2 = st.columns(2)
1656
+ items = list(package_versions.items())
1657
+ mid_point = len(items) // 2
1658
+
1659
+ with col1:
1660
+ for package, version in items[:mid_point]:
1661
+ st.write(f"**{package}:** {version}")
1662
+
1663
+ with col2:
1664
+ for package, version in items[mid_point:]:
1665
+ st.write(f"**{package}:** {version}")
1666
+
1667
+ # PyTorch specific information
1668
+ st.markdown("### PyTorch Configuration")
1669
+ st.write(f"**PyTorch Version:** {torch.__version__}")
1670
+ st.write(f"**CUDA Available:** {torch.cuda.is_available()}")
1671
+ if torch.cuda.is_available():
1672
+ st.write(f"**CUDA Version:** {torch.version.cuda}")
1673
+ st.write(f"**cuDNN Version:** {torch.backends.cudnn.version()}")
1674
+ st.write(f"**Number of GPUs:** {torch.cuda.device_count()}")
1675
+ for i in range(torch.cuda.device_count()):
1676
+ st.write(f"**GPU {i}:** {torch.cuda.get_device_name(i)}")
1677
+ else:
1678
+ st.write("Running on CPU only")
1679
+
1680
+ st.markdown("---")
1681
  st.markdown("Universal MLIP Playground App | Created with Streamlit, ASE, MACE, FairChem, SevenNet, ORB and ❤️")
1682
  st.markdown("Developed by [Manas Sharma](https://manas.bragitoff.com/) in the groups of [Prof. Ananth Govind Rajan Group](https://www.agrgroup.org/) and [Prof. Sudeep Punnathanam](https://chemeng.iisc.ac.in/sudeep/) at [IISc Bangalore](https://iisc.ac.in/)")