Hallo, ich bin M1 und wurde mit einem bestimmten Kurs für B1- und B2-Studenten betraut. Der Inhalt soll Ihnen zeigen, wie Sie Tensorflow ** 1.12 ** verwenden, was bedeutet, dass Sie sich ** Environmental Hell ** und ** Compatibility Hell ** ansehen.
Der Zweck dieses Artikels besteht darin, einen Status zu erstellen, in dem sich ** Windows-Benutzer ** entwickeln können, um eine Umgebung zu erstellen, in der sie vorerst mit der Entwicklung beginnen können.
Zu Beginn habe ich ein [Powershell-Skript wie dieses] geschrieben (https://gist.github.com/MokkeMeguru/f39e4e4f5cf1dd40b71f97c28b359214). Sie können eine schöne Umgebung bekommen, indem Sie diesen Kerl laufen lassen.
Die Entwicklungsumgebung ist für jede Person unterschiedlich, und ich verwende Manjaro Linux x Docker x Emacs x LSP, eine ziemlich starre Umgebung, aber dies ist nicht die einzige, die abnormal ist.
Als Universitätsklasse (~~ um die Abneigung gegen Emacs zu erhöhen ~~) unterrichte ich oft Emacs, aber vielleicht ist die aktuelle Situation deshalb so, dass Redakteure wie vim, neovim, gvim oder VSCode allein eine Vielzahl von Dingen sind. Es existiert als Problem.
Wenn außerdem MacOS, das für seinen Glanz bekannt ist, Ubuntu, das wie eine verrückte Person aussieht, und Windows 8 (/ 10), das ich nicht kenne, aber dort verkaufe, als Betriebssystemoptionen angeboten werden, ist die Kombinationsexplosion gefährlich.
Organisieren Sie zunächst die Anforderungen zum Erstellen eines Skripts.
Wir werden ein separates Tutorial für Mac und Linux erstellen und für Windows auf 10 aktualisieren. Glücklicherweise vertreibt die Universität, der ich angehöre, Windows 10, sodass Windows 8 / 8.1 eine Richtlinie zur Aktualisierung hat.
WSL, Bash unter Ubuntu und Hyper-V können nicht verwendet werden, da die Wahrscheinlichkeit groß ist, dass sie aufgrund von Leistung oder Software-Engagement deaktiviert werden. Mit Powershell ... Ich bin sicher, es ist okay.
In letzter Zeit hat sich LSP (Language-Server-Protocol) als beliebtes Komplement- / Check-Tool entwickelt. Beispielsweise unterstützen beliebte Editoren wie VSCode, Vim und Emacs LSP. Ich bin sicher, Sie verwenden einen Editor, der dies verwenden kann. ~~ Ich weiß nichts über Notizblöcke ~~
Mit dieser Anforderung schreiben wir ein Skript.
python_install_on_windows.ps1
# installation scoop
try {
scoop --version
} finally {
Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh')
Set-ExecutionPolicy RemoteSigned -scope CurrentUser
}
# install some utility applications
scoop install python wget curl git
python --version
pip install pipenv
# install pyenv environment
if (!(get-command pyenv -errorAction SilentlyContinue)) {
pip install pyenv-win --target $env:USERPROFILE\.pyenv
[Environment]::SetEnvironmentVariable("PATH", "$env:Path;$env:USERPROFILE\.pyenv\pyenv-win\bin;$env:USERPROFILE\.pyenv\pyenv-win\shims", "User")
$env:PATH = "$env:Path;$env:USERPROFILE\.pyenv\pyenv-win\bin;$env:USERPROFILE\.pyenv\pyenv-win\shims"
}
pyenv install 3.6.8-amd64
# create temporary file
if (!(Test-Path $env:USERPROFILE\.cache)) {
New-Item $env:USERPROFILE\.cache -ItemType Directory
}
if (!(Test-Path $env:USERPROFILE\.cache\tmp)) {
New-Item $env:USERPROFILE\.cache\tmp -ItemType Directory
}
# create project file
if (!(Test-Path $env:USERPROFILE\tensorflow_tutorial)) {
New-Item $env:USERPROFILE\tensorflow_tutorial -ItemType Directory
}
# setup python environment
Set-Location $env:USERPROFILE\tensorflow_tutorial
pipenv install --python 3.6.8-amd64
pipenv install tensorflow==1.12.0 python-language-server[all] ipython
Speichern Sie es an einem geeigneten Ort und machen Sie die Dateieigenschaften wie folgt ausführbar:
Dann legen Sie diese Datei auf Powershell
./python_install_on_windows.ps1
Wenn Sie es ausführen, wird es ohne Erlaubnis installiert und C: \ Users \ <Benutzername> \ tensorflow_tutorial
wird als Beispielprojekt erstellt.
Danach wird erklärt, was Sie tun.
Was macht dieses Skript?
--Installation des Windows-Paketverwaltungssystems Scoop
Es ist geworden.
Scoop ist ein Tool zum Installieren von Paketen auf Unix-ähnlicher Basis für jeden Benutzer. Die Vorteile dieses Tools sind ** keine Berechtigungen erforderlich **, ** einfach zu installieren **, ** Befehle ähnlich wie Linux und MacOS **.
# installation scoop
try {
scoop --version
} finally {
Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh')
Set-ExecutionPolicy RemoteSigned -scope CurrentUser
}
Nachdem Sie Scoop installiert haben, können Sie ** allgemeine ** Software / Anwendungen wie Python installieren.
git, curl, wget sind Befehle, die Sie über B3, B4 oder höher wissen möchten, und git wird manchmal nach der Jobsuche gefragt. Lassen Sie uns diese Gelegenheit nutzen, um etwas zu lernen.
# install some utility applications
scoop install python wget curl git
python --version
Pyenv wird für Python-Versionsverwaltungstools eingeführt. Es gibt verschiedene Versionen von Python wie 3.5 und 3.6, und diese Version ist für ~~ shit ~~ Tensorflow auf Gorigori beschränkt.
Es gibt auch eine Möglichkeit, alle Binärdateien einzeln zu installieren und über den Pfad zu führen. Dieses Mal werde ich jedoch ein Tool namens Pyenv verwenden, um die lästigen Bildschirmoperationen zu reduzieren.
# install pyenv environment
if (!(get-command pyenv -errorAction SilentlyContinue)) {
pip install pyenv-win --target $env:USERPROFILE\.pyenv
[Environment]::SetEnvironmentVariable("PATH", "$env:Path;$env:USERPROFILE\.pyenv\pyenv-win\bin;$env:USERPROFILE\.pyenv\pyenv-win\shims", "User")
$env:PATH = "$env:Path;$env:USERPROFILE\.pyenv\pyenv-win\bin;$env:USERPROFILE\.pyenv\pyenv-win\shims"
}
Das Language Server-Protokoll ist einfach die Code-Vervollständigung, die Definition eines Formats für die Ausführung einer Fehlermeldung und in seltenen Fällen die Implementierung. In LSP wird zusätzlich zum Editor ein System namens Server angezeigt, das Code analysiert. Unten finden Sie ein Zitat aus VSCode-Dokumentation.
Eine der Motivationen lautet: "Senden und empfangen wir Code, Fehlermeldungen und Codedokumente wie dieses, unabhängig von der Sprache, und es wird einfacher sein, die Vervollständigung in jedem Editor zu implementieren."
Durch die Einführung ist es möglich, die Einstellungen für Redakteure mit ebenso vielen Sternen bis zu einem gewissen Grad zu standardisieren.
# create temporary file
if (!(Test-Path $env:USERPROFILE\.cache)) {
New-Item $env:USERPROFILE\.cache -ItemType Directory
}
if (!(Test-Path $env:USERPROFILE\.cache\tmp)) {
New-Item $env:USERPROFILE\.cache\tmp -ItemType Directory
}
Erstellen Sie als Beispielprojekt eine Umgebung mit ** Tensorflow 1.12 **.
Tensorflow 1.12 unterstützt nur die Umgebung ** <= python3.6 **. Installieren Sie daher ** 3.6.8 **.
Erstellen Sie dann einen Projektordner und installieren Sie mit pipenv, einem ** Paketverwaltungstool ** (keine Version), Tensorflow, Python-Language-Server und Ipython unter Python 3.6.8. Ich werde.
pip install pipenv
pyenv install 3.6.8-amd64
# create project file
if (!(Test-Path $env:USERPROFILE\tensorflow_tutorial)) {
New-Item $env:USERPROFILE\tensorflow_tutorial -ItemType Directory
}
# setup python environment
Set-Location $env:USERPROFILE\tensorflow_tutorial
pipenv install --python 3.6.8-amd64
pipenv install tensorflow==1.12.0 python-language-server[all] ipython
So führen Sie das Beispielprojekt aus, z. B. für vim
pipenv run vim
Wachen Sie in Form von auf. Öffnen Sie für VSCode einfach den Ordner "tensorflow_tutorial" und los geht's.
Ein Beispiel für eine vim-Konfigurationsdatei ist hier, aber ich habe keine lange Geschichte von vim, daher ist es wahrscheinlich besser, mit einem Hashtag auf Twitter zu hören.
Gehen Sie wie folgt vor, um diese Konfigurationsdatei zu aktivieren:
Installieren Sie vundle
mkdir ~/.vim
mkdir ~/.vim/bundle
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
:PluginInstall
: PlugInstall
auf vim.
Recommended Posts