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

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

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

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

4808閲覧

乱数をfloat32に変換する方法

trafalbad

総合スコア303

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2017/06/10 15:14

編集2017/06/11 08:01

以下で発生させた乱数とデータセットをfloat32に変換するにはどうしたら良いでしょうか?

import numpy as np M = 1000 N = 3072 n = np.ones((1,N)) * np.linspace(0.0, 1.0, M).reshape(M,1)

備考
ネット上で公開されている方法で変換してみましたが、instanceではFalseと出てしまいます。

X_image=np.array(x_train, dtype=np.float32) X_image >>> array([[ 0.23137255, 0.16862746, 0.19607843, ..., 0.54901963, 0.32941177, 0.28235295], [ 0.60392159, 0.49411765, 0.41176471, ..., 0.54509807, 0.55686277, 0.56470591], [ 1. , 0.99215686, 0.99215686, ..., 0.32549021, 0.32549021, 0.32941177], ..., [ 0.56862748, 0.51372552, 0.4509804 , ..., 0.34901962, 0.34509805, 0.35686275], [ 0.57254905, 0.72549021, 0.97254902, ..., 0.57254905, 0.65098041, 0.93333334], [ 0.79607844, 0.78823531, 0.81568629, ..., 0.44705883, 0.47058824, 0.49411765]], dtype=float32) isinstance(n, float) #or isinstance(X_image, float) >>>False

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

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

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

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

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

guest

回答2

0

型変換については、magichanさんのおっしゃるとおりで良いと思います
追加すると
なぜ、型のチェックにisinstanceを使うのか、dtypeではダメなのでしょうか
インスタンスの比較なので
isinstance(n[1][1], np.float32)とすれば、Trueが返ってくると思います

投稿2017/06/11 23:50

xxBadMoon2017

総合スコア114

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

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

trafalbad

2017/06/12 22:26

解決しました。ありがとうございました。
guest

0

ベストアンサー

Numpy配列の要素の型変換を行うには ndarray.astype() をお使いください。

https://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.astype.html

Python

1import numpy as np 2M = 1000 3N = 3072 4n = np.ones((1,N)) * np.linspace(0.0, 1.0, M).reshape(M,1) 5print(n.dtype) 6# => float64 7 8n = n.astype(np.float32) 9print(n.dtype) 10# => float32

投稿2017/06/11 23:29

magichan

総合スコア15898

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

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

trafalbad

2017/06/12 22:26

わかりやすい回答ありがとうございました。解決しました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問