Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Universal function library of scientific calculation.
Python 3
CUDA >= 10.0
PyTorch >= 1.0
Tensorflow >= 1.12.0
opencv-python
pydub
librosa
pyworld
soundfile
pypinyin
pomegranate
python-Levenshtein
streamlit
pyprobar
fire
# Before install `guang`, you need to have all the requirements installed.
pip install guang
Nightly Build
git clone https://github.com/beidongjiedeguang/guang.git
cd guang
python ./night_workflow.py
Convert audio in .mp3/ .wav format to (sample rate=16k, single channel) .wav format
Use in bash/shell
guang cvt2wav INPUT OUTPUT
Use as function
from guang.Voice.convert import cvt2wav
cvt2wav(input_name, output_name, sr=16000)
# Multi-process
from guang.Voice.convert import multi_cvt2wav
multi_cvt2wav(PATH1, PATH2,sr=16000, n_cpu=None)
Let the video play at N times speed (install ffmpeg first)
guang av_speed inputname outputname N --cut_frame=False
Fourier visualization
guang fourier
Fourier draw anything you want
FFT convolution
from guang.sci import fft
A = np.random.rand(100, 100)
B = np.random.rand(100, 100)
fft.fft_conv2d(A, B)
Use dict_dotable
to convert a dictionary to dot-able dictionary:
from guang.Utils.toolsFunc import dict_dotable
a = {'a':{'b':1}}
a = dict_dotable(a)
print(a.a.b)
>> 1
Use has separated to pyprobarprobar
to display current progress
from guang.Utils.bar import bar, probar
for idx, x in probar(range(10)):
time.sleep(0.8)
>> 100.00% |█████████████████████████████| 0'7.2"|0'7.2" ETC: 12-2 23:59:8
N = 1024
a = np.linspace(2, 5, N)
for idx, i in enumerate(a):
time.sleep(0.01)
bar(idx, N)
>> 100.00% |█████████████████████████████| 0:00:00|0:00:10 ETC: 02-19 20:33:34
@broadcast
broadcast a non-broadcast function.
from guang.Utils.toolsFunc import broadcast
@broadcast
def f(x):
# A function that can map only a single element
if x==1 or x==0:
return x
else:
return f(x-1)+f(x-2)
>> f([2,4,10])
>> array([1, 3, 832040], dtype=object)
download
download files from google drive.
from guang.Utils.google import download
url = "https://drive.google.com/open?id=1eU57Fkv1DBEOqi-iOs1AebD02FqVDY23"
outname = "filename.zip"
download(url, outname)
txt2ph
Convert Chinese characters to phoneme.
from guang.Voice.txt2pinyin import txt2ph
txt2ph('你好,我是光')
>> [('n', 'i3'), ('h', 'ao3'), ('sp1',), ('uo3',), ('sh', 'ii4'), ('g', 'uang1')]
reduce_from_duration
Remove files with duration less than least_time
seconds.
Note that this function does not work in the interactive interpreter because it uses multiprocessing.pool.Pool
from guang.Voice.reduce import reduce_from_duration
reduced_list = reduce_from_duration(path_list, least_time=2)
print(len(path_list), len(reduced_list))
>> (6889, 6714)
Find NOT silence part of a sound file: find_no_silence
from guang.Voice.reduce import find_no_silence
start, end, arg_start, arg_end = find_no_silence(filename)
Download wechat files.
from guang.wechat.Utils.download import downloads
downloads(nickName='caloi', fileType='mp3', d_t=60)
Plots 3D Scatter:
from guang.Utils.plotly import Scatter3d
from guang.Utils.interesting import Lorenz
trace = Lorenz.Trace()
x,y,z = trace[:,0], trace[:,1], trace[:,2]
fig = Scatter3d()
fig.scatter3d(x,y,z,mode="lines+markers",color_line=z,color_marker=None,marker_size=2)
fig.show()
Data dimension reduction:
cd guang/ML/manifold
python test_digits.py
python test_s_curve
:smiley:
FAQs
ML/DL tools function library
We found that guang demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.