Schreiben Sie ein Programm zum Zeichnen eines Sinus-Cosinus-Diagramms in Python und Ruby unter Bezugnahme auf den Code in Kapitel 1 des Buches "Deep Learning von Grund auf neu - Die Theorie und Implementierung des mit Python gelernten Deep Learning".
Python
In dem Buch "Deep Learning von Grund auf neu" wurde die Anaconda-Distribution installiert, um die Umgebung zu erstellen. Hier werden jedoch nur numpy und matplotlib mit pip installiert.
Diese Umgebung.
macOS Sierra + Homebrew + pyenv + Python 3.6.1
Installieren Sie NumPy, eine numerische Berechnungsbibliothek, und Matplotlib, eine Grafikzeichnungsbibliothek.
$ pip install numpy matplotlib
Ruby
Diese Umgebung.
macOS Sierra + Homebrew + rbenv + Ruby 2.4.1
Installieren Sie Numo :: NArray, eine mehrdimensionale numerische Array-Bibliothek, und Numo :: Gnuplot, eine Grafikzeichnungsbibliothek.
$ gem install numo-narray numo-gnuplot
Numo :: Gnuplot verwendet Gnuplot, installieren Sie es also mit Homebrew.
$ brew install gnuplot
Python
import numpy as np
import matplotlib
matplotlib.use("AGG") #AGG in Zeichnungsbibliothek(Anti-Grain Geometry)verwenden
import matplotlib.pyplot as plt
#Daten erstellen
x = np.arange(0, 6, 0.1) #0 bis 6 0.In Schritten von 1 generieren
y1 = np.sin(x)
y2 = np.cos(x)
#Geben Sie numerische Daten zur Bestätigung aus
print("x:", *x)
print("y1:", *y1)
print("y2:", *y2)
#Zeichnen eines Diagramms
plt.figure(figsize=(4, 3), dpi=160) #Bildgröße
plt.plot(x, y1, label="sin")
plt.plot(x, y2, linestyle = "--", label="cos") #Zeichnen Sie mit gestrichelten Linien
plt.xlabel("x") #x-Achsenbeschriftung
plt.ylabel("y") #Beschriftung der y-Achse
plt.title("sin & cos") #Titel
plt.legend() #Gebrauchsanweisung
plt.savefig("python_graph.png ")
Ruby
require 'numo/narray'
require 'numo/gnuplot'
#Daten erstellen
x = Numo::DFloat.new(60).seq(0, 0.1) #0 bis 6 0.In Schritten von 1 generieren
y1 = Numo::DFloat::Math.sin(x)
y2 = Numo::DFloat::Math.cos(x)
#Geben Sie numerische Daten zur Bestätigung aus
puts "x: #{x.to_a.join(' ')}"
puts "y1: #{y1.to_a.join(' ')}"
puts "y2: #{y2.to_a.join(' ')}"
#Zeichnen eines Diagramms
g = Numo::gnuplot do
set term: {png: {size: [640, 480]}} #Bildgröße
set output: 'ruby_graph.png'
set title: 'sin \& cos' #Titel
set key: 'box left bottom'
set offset: [0, 0, 0, 0]
plot x, y1, {w: 'lines', lw: 3, title: 'sin'},
x, y2, {w: 'lines', lw: 3, title: 'cos'}
end
Python
Ruby
--Python vs Ruby "Deep Learning from Grund" Zusammenfassung --Qiita http://qiita.com/niwasawa/items/b8191f13d6dafbc2fede --O'Reilly Japan - Tief lernen von Grund auf https://www.oreilly.co.jp/books/9784873117584/ --GitHub --oreilly-japan / Deep-Learning-from-Scratch: Repository für "Deep Learning from Scratch" https://github.com/oreilly-japan/deep-learning-from-scratch
Recommended Posts