質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

解決済

1回答

1367閲覧

Docker上でのanacondaとVScodeの紐付けの仕方について(ubuntu)

tkrd

総合スコア5

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

0クリップ

投稿2021/06/12 07:29

編集2021/06/12 12:13

閲覧頂きありがとうございます。

末尾のサイトを見て、DockerへのanacondaとVScodeの導入はうまく行ったのですが、VScodeでプログラムを実行しようとするとうまく実行できません。windowsで開発していたときは、(Dockerは使っていませんでしたが)VScodeのPATHやshellの設定を変更することで実行できていました。
そのため、問題はPATH周辺だと思うのですがLinuxに疎いため、ご教授いただけますと幸いです。

VScodeのキャプチャです。
イメージ説明

VScodeのポートのキャプチャです。
イメージ説明

よろしくお願いいたします。

anaconda等の導入のための参考サイト↓
https://qiita.com/komiya_____/items/96c14485eb035701e218

追記(コード群)

dockerfile, docker-compose.yml, mnist.pyのコードを追記しました。mnist.pyはKeras Blogのものをほぼそのまま使ったものになります。また、有用な情報となるかわかりませんが、Dockerの環境構築は以下の記事を参考にしました。(ubuntuのバージョンは記事に合わせて18.04にしてあります)

参考記事:https://qiita.com/karaage0703/items/e79a8ad2f57abc6872aa
Keras Blog:https://blog.keras.io/building-autoencoders-in-keras.html

Dockerfile

1# ベースイメージ名:タグ名 2FROM continuumio/anaconda3:2019.03 3 4# pipをアップグレードし必要なパッケージをインストール 5RUN pip install --upgrade pip && \ 6 pip install autopep8 && \ 7 pip install Keras && \ 8 pip install tensorflow 9 10# コンテナ側のルート直下にworkdir/(任意)という名前の作業ディレクトリを作り移動する 11WORKDIR /workdir 12 13# コンテナ側のリッスンポート番号 14# 明示しているだけで、なくても動く 15EXPOSE 8888 16 17# ENTRYPOINT命令はコンテナ起動時に実行するコマンドを指定(基本docker runの時に上書きしないもの) 18# "jupyter-lab" => jupyter-lab立ち上げコマンド 19# "--ip=0.0.0.0" => ip制限なし 20# "--port=8888" => EXPOSE命令で書いたポート番号と合わせる 21# ”--no-browser” => ブラウザを立ち上げない。コンテナ側にはブラウザがないので 。 22# "--allow-root" => rootユーザーの許可。セキュリティ的には良くないので、自分で使うときだけ。 23# "--NotebookApp.token=''" => トークンなしで起動許可。これもセキュリティ的には良くない。 24ENTRYPOINT ["jupyter-lab", "--ip=0.0.0.0", "--port=8888", "--no-browser", "--allow-root", "--NotebookApp.token=''"] 25 26# CMD命令はコンテナ起動時に実行するコマンドを指定(docker runの時に上書きする可能性のあるもの) 27# "--notebook-dir=/workdir" => Jupyter Labのルートとなるディレクトリを指定 28CMD ["--notebook-dir=/workdir"] 29 30

yaml

1version: '3' # docker-composeファイルの書式バージョン。最新の’3’を指定(2021/6/12現在) 2services: 3 dev: # 任意の名前(ディレクトリ名 + dev がコンテナ名となります) 4 build: 5 context: . 6 dockerfile: Dockerfile_study 7 image: study 8 ports: 9 - "8080:8888" 10 volumes: 11 - .:/workdir 12

Python

1from keras.layers import Input, Dense 2from keras.models import Model 3from keras.datasets import mnist 4import numpy as np 5from sklearn.model_selection import train_test_split 6import matplotlib.pyplot as plt 7 8# encoderの次元 9encoding_dim = 32 10 11# 入力用の変数 12input_img = Input(shape=(784, )) 13# 入力された画像がencodeされたものを格納する変数 14encoded = Dense(encoding_dim, activation='relu')(input_img) 15# ecnodeされたデータを再構成した画像を格納する変数 16decoded = Dense(784, activation='sigmoid')(encoded) 17# 入力画像を再構成するModelとして定義 18autoencoder = Model(input_img, decoded) 19 20# 入力する画像をencodeする部分 21encoder = Model(input_img, encoded) 22encoded_input = Input(shape=(encoding_dim, )) 23decoder_layer = autoencoder.layers[-1] 24# encodeされた画像データを再構成する部分 25decoder = Model(encoded_input, decoder_layer(encoded_input)) 26 27# AdaDeltaで最適化, loss関数はbinary_crossentropy 28autoencoder.compile(optimizer='adam', loss='binary_crossentropy') 29 30# MNISTデータを前処理する 31(x_train, _), (x_test, _) = mnist.load_data() 32x_train, x_valid = train_test_split(x_train, test_size=0.175) 33x_train = x_train.astype('float32')/255. 34x_valid = x_valid.astype('float32')/255. 35x_test = x_test.astype('float32')/255. 36x_train = x_train.reshape((len(x_train), np.prod(x_train.shape[1:]))) 37x_valid = x_valid.reshape((len(x_valid), np.prod(x_valid.shape[1:]))) 38x_test = x_test.reshape((len(x_test), np.prod(x_test.shape[1:]))) 39 40# autoencoderの実行 41autoencoder.fit(x_train, x_train, 42 epochs=50, 43 batch_size=256, 44 shuffle=True, 45 validation_data=(x_valid, x_valid)) 46 47# 画像化して確認 48encoded_img = encoder.predict(x_test) 49decoded_img = decoder.predict(encoded_img) 50 51n = 10 52plt.figure(figsize=(20, 4)) 53for i in range(n): 54 ax = plt.subplot(2, n, i+1) 55 plt.imshow(x_test[i].reshape(28, 28)) 56 plt.gray() 57 ax.get_xaxis().set_visible(False) 58 ax.get_yaxis().set_visible(False) 59 60 ax = plt.subplot(2, n, i+1+n) 61 plt.imshow(decoded_img[i].reshape(28, 28)) 62 plt.gray() 63 ax.get_xaxis().set_visible(False) 64 ax.get_yaxis().set_visible(False) 65plt.show()

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kiino

2021/06/12 08:43

以下の内容を教えていただくことは可能でしょうか ・実行に失敗した時に出てきたエラー文 ・問題のVScodeに設定したPATH あと確認させていただきたいのですが、画像をみるにインストールしたVScodeはdockerの中でインストールされた出会ってますでしょうか。 参考URLを拝見したのですが、そちらではホスト側のVScodeでdockerにリモート接続されているように読めたのですが。 (間違いでしたら申し訳ありません
tkrd

2021/06/12 08:55

ありがとうございます。 ・エラー文についてですが、それ以前の段階でして、実行ボタンを押しても実行ができない状況にあります。 ・Linuxではどうすればよいのかわからなかったため、とりあえずとして "python.pythonPath": "opt/conda/bin/python"(VScodeのポートのところにそれらしい記載があったため。キャプチャを追加いたしました)としてみましたがうまく行きませんでした。 参考URLのとおりに進めて、ローカルのVScodeにRemote-ContainersをインストールしてDockerのVScodeを開いているため、リモート接続だと思います。瓦解を生む文章で申し訳ありませんでした。
kiino

2021/06/12 10:04

ありがとうございます。 > ・エラー文についてですが、それ以前の段階でして、実行ボタンを押しても実行ができない状況にあります。 承知しました。 VScode からファイル実行時に、そもそもpython が実行できてなさそう。ということですかね。 そのさいにも VScode 側のダイアログなど、どこかでエラーがでていると思ったのですが、そういうのもなかったでしょうか。 「実行ができなかった」がどういう状態になっているのかイメージできず。 私の方でもコンテナの作成から VScode の実行を試してみたのですが、Qiita の内容通りで python の実行が可能でした。 (.vscode/settings.json の設定はなし、ポートの設定は質問者様と同じ状態) コードや設定ファイルの中もスクショではなくコードとして質問文に記載いただけると助かるのですが可能でしょうか。 (画像はあったほうがありがたいのですが、コピペなどで確認しやすくなると思うので)
tkrd

2021/06/12 12:16

お世話になります。コードを追記しましたのでご確認いただけますと幸いです。 またファイル実行時についてですが、実行ボタンをクリックしても動作せず、エラーも出力されない状況にあります。キャプチャ一枚目のように、カレントディレクトリも見えない状況です。
kiino

2021/06/12 20:19

追記ありがとうございます。 > 実行ボタンをクリックしても動作せず、エラーも出力されない状況 ここがどういう状況なのか、ちょっとわからないですね。。。 いろいろ対応していただいたのにもうしわけありません。 VScode の状況がどうなっているか、もう少しわかるといいのですが。
tkrd

2021/06/12 22:32

要領を得ない解答で申し訳ありません。こちらこそ親身に対応していただき感謝の言葉もありません。 コマンドプロンプトでの実行は試せていませんが、こちらのリンクが私の状況に近いようですので、vscodeの再インストールを試してみようかと思っています。 https://teratail.com/questions/119629
tkrd

2021/06/14 09:35

vscode再インストールしたら直りました。ubuntuソフトウェアから元々インストールしていたのですが、やめたほうがいいですね、、公式からインストールしたら直りました。色々とお世話になりました。ありがとうございました。
kiino

2021/06/14 20:48

解決できたようでなによりです。 なるほど、インストール・起動の時点なにか不具合があったんですね。 盲点でした。その視点がなく、余計な手間を取らせてしまい、申し訳ございません。
guest

回答1

0

自己解決

vscodeを再インストールしたら治りました。

投稿2021/06/14 09:35

tkrd

総合スコア5

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問