条件付き書式で数値ではなく文字列を指定するには、
[セルの値が] [次の値に等しい] "ABC"
のようにすればよい。この例の場合、セルの値がABCの場合に
条件を満たす。指定したい文字列を " で括る必要がある。
' で括っても動作しないし、単に文字列を書いただけでも動作しない。
2013/03/25
LibreOffice で条件付き書式
投稿者
bluewidz
1
コメント
2013/02/08
[Python] numpy の行列
numpy の行列の各要素へのアクセス方法をいろいろと試した。
まず、numpyを読み込んで、npという名前でアクセスできるようにする。
>>> import numpy as npさらに、行列Mを作成する。
>>> M=np.matrix([[1,2,3],[4,5,6],[7,8,9]])1行目1列目が1、1行目2列目が2である。
2行目を表示する。
>>> print M[1] [[4 5 6]]
2行目3列目の値を表示する。
>>> print M[1,2] 6
以降、i行列j列目を(i,j)と書くこととする。
(3,2)と(1,2)の成分を取り出す。
>>> print M[[2,0],[1,1]] [[8 2]](3,1)と(2,2)の成分を取り出すわけではないことに注意。
(1,3)と(2,2)、(3,1)の成分を取り出す。
>>> print M[[0,1,2],[2,1,0]] [[3 5 7]]
(2,3)と(2,2)、(2,1)の成分を取り出す。
>>> print M[[1,1,1],[2,1,0]] [[6 5 4]]省略して書くこともできる。
>>> print M[1,[2,1,0]] [[6 5 4]]これも同様。
>>> print M[[1],[2,1,0]] [[6 5 4]]
次の書き方はエラーとなる。
>>> print M[[1,2],[2,1,0]]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/pymodules/python2.7/numpy/matrixlib/defmatrix.py", line 305, in __getitem__
out = N.ndarray.__getitem__(self, index)
ValueError: shape mismatch: objects cannot be broadcast to a single shape
(3,2)と(2,2)、(1,2)の成分を取り出す。
>>> print M[[2,1,0],[1,1,1]] [[8 5 2]]
同様に省略できるが、形式が変わる。
>>> print M[[2,1,0],1] [[8] [5] [2]]
次の3つはすべて同じ結果となる。
>>> print M[[2],1] [[8]] >>> print M[[2],[1]] [[8]] >>> print M[2,[1]] [[8]]
しかし、[]が[]内にないと、スカラーの値が表示される。
>>> print M[2,1] 8
次の2つは同じ。
>>> print M[np.arange(3),np.arange(3)] [[1 5 9]] >>> print M[[0,1,2],[0,1,2]] [[1 5 9]]
1行目と2行目を取り出す。
>>> print M[[0,1]] [[1 2 3] [4 5 6]]
転置をとる。
>>> print M.T [[1 4 7] [2 5 8] [3 6 9]]
投稿者
bluewidz
0
コメント
2013/02/01
mnist.pkl.gz の読み込み方
http://deeplearning.net/tutorial/gettingstarted.html
に記載されている MNIST Dataset
http://deeplearning.net/data/mnist/mnist.pkl.gz
のデータ構造は次のようになっている。
[mnist.pkl] = [[train_set], [valid_set], [test_set]]
[*_set] = [[*_setの入力], [*_setの正解]]
[*_setの入力] = [[784個の浮動小数点の配列], ... ]
[*_setの正解] = [[0〜9の整数], ... ]
ここで、[784個の浮動小数点の配列]は28x28の手書き数字画像、
*_setはtrain_set、valid_set、test_setのいずれかである。
読み込んで端末に表示してみるコード(load.py)は次の通り。
import cPickle, gzip, numpy, sys
if len(sys.argv) != 2:
quit()
data_index=int(sys.argv[1])
f=gzip.open('../data/mnist.pkl.gz','rb')
train_set, valid_set, test_set=cPickle.load(f)
train_set_x, train_set_y=train_set # setの中身が
for i in range(data_index,data_index+1):
for y in range(0,28):
for x in range(0,28):
if train_set_x[i][y*28+x]<0.5:
sys.stdout.write(" ")
elif train_set_x[i][y*28+x]<0.8:
sys.stdout.write("+")
else:
sys.stdout.write("*")
sys.stdout.write("\n")
print "correct =",train_set_y[i]
print "--------------------------------"
8番目のデータを表示する実行例は次の通り。
$ python load.py 7
******+
+**********+
+************
***+++++****
***+
***+
+***
*****+
+++*****
*********+
**********
+**
**
**
***
+* ****
***++++++***+
***********+
+*******+
**+
correct = 3
--------------------------------
データを読めていることが確認できる。
投稿者
bluewidz
0
コメント
2013/01/30
[Python] theano.tensor.grad
theano.tensor で書いた関数を自動的に微分することができる。
ただし、関数で計算した結果得られる値はスカラーでなければならない。
ベクトルや行列になっているとエラーとなる。
gradを使った例を次に示す。
import numpy
import theano
import theano.tensor as T
x=T.dscalar('x')
v=T.dvector('v')
M=T.dmatrix('M')
y1=x**3
y2=T.dot(v,v)*x
y3=T.sum(T.dot(M,M))
gy1=T.grad(y1,x)
gy2=T.grad(y2,v)
gy3=T.grad(y3,M)
f1=theano.function([x],gy1)
f2=theano.function([x,v],gy2)
f3=theano.function([M],gy3)
print "f1 :",theano.pp(f1.maker.fgraph.outputs[0])
print "f2 :",theano.pp(f2.maker.fgraph.outputs[0])
print "f3 :",theano.pp(f3.maker.fgraph.outputs[0])
print "f1(2) =",f1(2)
print "f2(2,[3,5]) =",f2(2,[3,5])
print "f3([[1,2],[3,4]]) =",f3([[1,2],[3,4]])
実行すると、
f1 : Elemwise{Composite{[mul(i0, sqr(i1))]}}(TensorConstant{3.0}, x)
f2 : Elemwise{Composite{[add(*1 -> mul(i0, i1), *1)]}}(x, v)
f3 : gemm_inplace(_dot22(alloc(TensorConstant{(1, 1) of 1.0}, Shape_i{0}(M), Shape_i{1}(M)), M.T), TensorConstant{1.0},
M.T, alloc(TensorConstant{(1, 1) of 1.0}, Shape_i{0}(M), Shape_i{1}(M)), TensorConstant{1.0})
f1(2) = 12.0
f2(2,[3,5]) = [ 12. 20.]
f3([[1,2],[3,4]]) = [[ 7. 11.]
[ 9. 13.]]
が得られる。f1 の出力を見ると、mul が掛け算で sqr が2乗、i0=TensorConstant{3.0}、
i1=x であるから、y1 を x で微分した結果である 3*x^2 が得られていることがわかる。
f2 と f3 は複雑すぎて読み方がわからないが、具体的な値を入れた結果は
正しく出力されている。
エラーが出る例として、ベクトルが戻り値になるような関数を試してみる。
import numpy
import theano
import theano.tensor as T
x=T.dscalar('x')
v=T.dvector('v')
y=v*x
gy=T.grad(y,x)
すると、
Traceback (most recent call last):
File "test.py", line 8, in <module>
gy=T.grad(y,x)
File "/usr/local/lib/python2.7/dist-packages/theano/gradient.py", line 411, in grad
raise TypeError("cost must be a scalar.")
TypeError: cost must be a scalar.
といわれて微分できない。
投稿者
bluewidz
0
コメント
2013/01/24
[Python] theano.tensor.fill
fill の挙動がわからないので調べてみた。
import numpy
import theano
import theano.tensor as T
x=T.dscalar('x')
xc=T.dscalar('xc')
y1=3*x
y2=xc*x
y3=T.fill(xc,3)*x
f1=theano.function([x],y1)
f2=theano.function([x,xc],y2)
f3=theano.function([x,xc],y3)
print "x=",theano.pp(x)
print "y1=",theano.pp(y1)
print "y2=",theano.pp(y2)
print "y3=",theano.pp(y3)
print "f1=",theano.pp(f1.maker.fgraph.outputs[0])
print "f2=",theano.pp(f2.maker.fgraph.outputs[0])
print "f3=",theano.pp(f3.maker.fgraph.outputs[0])
print "f1(2)=",f1(2)
print "f2(2,3)=",f2(2,3)
print "f3(2,3)=",f3(2,3)
print "f3(2,100)=",f3(2,100)
実行すると、
x= x
y1= (TensorConstant{3} * x)
y2= (xc * x)
y3= (fill(xc, TensorConstant{3}) * x)
f1= (TensorConstant{3.0} * x)
f2= (xc * x)
f3= (TensorConstant{3.0} * x)
f1(2)= 6.0
f2(2,3)= 6.0
f3(2,3)= 6.0
f3(2,100)= 6.0
が得られた。
f3(2,3)もf3(2,100)も同じ値を返していることから、
fill は第1引数を第2引数の値に固定した結果を返しているように見える。
何に使うのだろうか。
ところで、
f3=theano.function([x,xc],y3)を
f3=theano.function([x],y3)に置き換えると
theano.gof.fg.MissingInputError: ('An input of the graph, used to compute Elemwise{second,no_inplace}(xc, TensorConstant{3}), was not provided and not given a value', xc)
というエラーが出力される。
値が与えられてない変数が残っていると、たとえfillを使って値を与えていても
関数化するのは無理なようだ。
投稿者
bluewidz
0
コメント
2013/01/20
流行のDNN
なんか、DNNが流行っているらしい。
というわけで、探してみると日本語の概要があった。
http://www.slideshare.net/mokemokechicken/pythondeep-learning
http://www.slideshare.net/tushuhei/121227deep-learning-iitsuka
Python+Theanoを使うと簡単なそうな。
実装例が
http://deeplearning.net/tutorial/
にあるので、まずは準備で、
http://deeplearning.net/tutorial/gettingstarted.html
に書いてあるとおり、githubからcloneでソースを取得する。
チュートリアルどおり、実験用の手書き数字画像としてMNIST datasetをダウンロードする。
gitで取ってきたなかの、
data/download.sh
を実行するとデータがダウンロードされる。
また、
$ cd doc $ makeを実行すると チュートリアルのpdf版が html/deeplearning.pdf に作成される。
使い方はまだよく調べていないが、次のように実行すると、
とりあえずテスト実行できるようだ。
$ python >>> import test >>> test.speed()
実行した結果は、以下。一部省略。
-- logistic_sgd のログの一部(float64) --
epoch 30, minibatch 83/83, validation error 8.031250 %
epoch 30, minibatch 83/83, test error of best model 7.843750 %
Optimization complete with best validation score of 8.031250 %,with test performance 7.843750 %
The code run for 30 epochs, with 1.299264 epochs/sec
The code for file logistic_sgd.pyc ran for 23.1s
-- logistic_cg のログの一部(float64) --
validation error 7.927083 %
Optimization complete with best validation score of 7.927083 %, with test performance 8.041667 %
The code for file logistic_cg.pyc ran for 53.4s
-- mlp のログの一部(float64) --
epoch 5, minibatch 2500/2500, validation error 7.300000 %
epoch 5, minibatch 2500/2500, test error of best model 7.590000 %
Optimization complete. Best validation score of 7.300000 % obtained at iteration 14999, with test performance 7.590000 %
The code for file mlp.pyc ran for 2.88m
-- convolutional_mlp のログの一部(float64) --
epoch 5, minibatch 100/100, validation error 6.430000 %
epoch 5, minibatch 100/100, test error of best model 6.920000 %
Optimization complete.
Best validation score of 6.430000 % obtained at iteration 599,with test performance 6.920000 %
The code for file convolutional_mlp.pyc ran for 2.26m
-- dA のログ(float64) --
... loading data
Training epoch 0, cost 63.2891694201
Training epoch 1, cost 55.7866565443
The no corruption code for file dA.pyc ran for 2.05m
Training epoch 0, cost 81.7714190632
Training epoch 1, cost 73.4285756365
The 30% corruption code for file dA.pyc ran for 2.06m
-- SdA のログ(float64) --
... loading data
... building the model
... getting the pretraining functions
... pre-training the model
Pre-training layer 0, epoch 0, cost 194.503144937
Pre-training layer 1, epoch 0, cost 695.507788509
Pre-training layer 2, epoch 0, cost 529.03645135
The pretraining code for file SdA.pyc ran for 6.89m
... getting the finetuning functions
... finetunning the model
epoch 0, minibatch 166/166, validation error 14.868687 %
epoch 0, minibatch 166/166, test error of best model 15.727273 %
epoch 1, minibatch 166/166, validation error 11.595960 %
epoch 1, minibatch 166/166, test error of best model 11.717172 %
Optimization complete with best validation score of 11.595960 %,with test performance 11.717172 %
The training code for file SdA.pyc ran for 6.70m
-- DBN のログ(float64) --
... loading data
... building the model
... getting the pretraining functions
... pre-training the model
Pre-training layer 0, epoch 0, cost -165.566548661
Pre-training layer 1, epoch 0, cost -620.030667461
Pre-training layer 2, epoch 0, cost -133.876169806
The pretraining code for file DBN.pyc ran for 7.84m
... getting the finetuning functions
... finetunning the model
epoch 1, minibatch 166/166, validation error 28.373737 %
epoch 1, minibatch 166/166, test error of best model 29.848485 %
epoch 2, minibatch 166/166, validation error 20.272727 %
epoch 2, minibatch 166/166, test error of best model 21.424242 %
Optimization complete with best validation score of 20.272727 %,with test performance 21.424242 %
The fine tuning code for file DBN.pyc ran for -64.90m
-- rbm のログ(float64) --
... loading data
WARNING (theano.tensor.opt): Your current code is fine, but Theano versions prior to 0.5rc2 might have given an incorrect result. To disable this warning, set the Theano flag warn.subtensor_merge_bug to False.
Training epoch 0, cost is -53.1045703345
Training took 17.727500 minutes
WARNING (theano.tensor.opt): Your current code is fine, but Theano versions prior to 0.5rc2 might have given an incorrect result. To disable this warning, set the Theano flag warn.subtensor_merge_bug to False.
... plotting sample 0
['logistic_sgd', 'logistic_cg', 'mlp', 'convolutional_mlp', 'dA', 'SdA', 'DBN', 'rbm']
float64 times [ 24.00578618 55.60583591 175.75342607 136.53151321 248.71974111
823.29348183 874.02775431 1079.12984514]
float64 expected [10.300000000000001, 23.699999999999999, 78.099999999999994, 73.700000000000003, 116.40000000000001, 346.89999999999998, 381.89999999999998, 558.10000000000002]
float64 % expected/get [ 0.42906322 0.42621426 0.44437256 0.53980212 0.46799663 0.42135643
0.43694265 0.51717595]
-- float32の場合の最後の方のログ --
... plotting sample 0
['logistic_sgd', 'logistic_cg', 'mlp', 'convolutional_mlp', 'dA', 'SdA', 'DBN', 'rbm']
float32 times [ 21.94568563 49.98527789 177.91128731 136.48723054 291.68081236
1048.11308694 1128.05673623 1302.78659558]
float32 expected [11.6, 29.600000000000001, 47.200000000000003, 66.5, 71.0, 191.19999999999999, 226.80000000000001, 432.80000000000001]
float32 % expected/get [ 0.5285777 0.59217436 0.26530076 0.48722507 0.24341677 0.18242306
0.20105372 0.33221097]
float64/float32 [ 1.09387269 1.11244427 0.98787114 1.00032445 0.85271204 0.78550062
0.77480833 0.82832434]
Duplicate the timing to have everything in one place
['logistic_sgd', 'logistic_cg', 'mlp', 'convolutional_mlp', 'dA', 'SdA', 'DBN', 'rbm']
float64 times [ 24.00578618 55.60583591 175.75342607 136.53151321 248.71974111
823.29348183 874.02775431 1079.12984514]
float64 expected [10.300000000000001, 23.699999999999999, 78.099999999999994, 73.700000000000003, 116.40000000000001, 346.89999999999998, 381.89999999999998, 558.10000000000002]
float64 % expected/get [ 0.42906322 0.42621426 0.44437256 0.53980212 0.46799663 0.42135643
0.43694265 0.51717595]
float32 times [ 21.94568563 49.98527789 177.91128731 136.48723054 291.68081236
1048.11308694 1128.05673623 1302.78659558]
float32 expected [11.6, 29.600000000000001, 47.200000000000003, 66.5, 71.0, 191.19999999999999, 226.80000000000001, 432.80000000000001]
float32 % expected/get [ 0.5285777 0.59217436 0.26530076 0.48722507 0.24341677 0.18242306
0.20105372 0.33221097]
float64/float32 [ 1.09387269 1.11244427 0.98787114 1.00032445 0.85271204 0.78550062
0.77480833 0.82832434]
expected float64/float32 [ 0.46934054 0.47413961 0.43898283 0.53997725 0.39906636 0.33097574
0.3385468 0.42838942]
ERROR (theano.sandbox.cuda): nvcc compiler not found on $PATH. Check your nvcc installation and try again.
... plotting sample 0
['logistic_sgd', 'logistic_cg', 'mlp', 'convolutional_mlp', 'dA', 'SdA', 'DBN', 'rbm']
gpu times [ 23.64237881 50.57395744 185.60482621 139.12935448 289.82814217
1050.09374905 1123.013515 1268.43072391]
gpu expected [3.0766348799999998, 7.5552349100000002, 18.992267850000001, 9.5999999999999996, 24.130070450000002, 20.399999999999999, 56.0, 302.60000000000002]
gpu % expected/get [ 0.1301322 0.14938983 0.10232637 0.06900054 0.08325648 0.01942684
0.04986583 0.2385625 ]
float64/gpu [ 1.01537102 1.09949545 0.94692272 0.98132787 0.85816284 0.78401903
0.77828783 0.85075978]
Duplicate the timing to have everything in one place
['logistic_sgd', 'logistic_cg', 'mlp', 'convolutional_mlp', 'dA', 'SdA', 'DBN', 'rbm']
float64 times [ 24.00578618 55.60583591 175.75342607 136.53151321 248.71974111
823.29348183 874.02775431 1079.12984514]
float64 expected [10.300000000000001, 23.699999999999999, 78.099999999999994, 73.700000000000003, 116.40000000000001, 346.89999999999998, 381.89999999999998, 558.10000000000002]
float64 % expected/get [ 0.42906322 0.42621426 0.44437256 0.53980212 0.46799663 0.42135643
0.43694265 0.51717595]
float32 times [ 21.94568563 49.98527789 177.91128731 136.48723054 291.68081236
1048.11308694 1128.05673623 1302.78659558]
float32 expected [11.6, 29.600000000000001, 47.200000000000003, 66.5, 71.0, 191.19999999999999, 226.80000000000001, 432.80000000000001]
float32 % expected/get [ 0.5285777 0.59217436 0.26530076 0.48722507 0.24341677 0.18242306
0.20105372 0.33221097]
gpu times [ 23.64237881 50.57395744 185.60482621 139.12935448 289.82814217
1050.09374905 1123.013515 1268.43072391]
gpu expected [3.0766348799999998, 7.5552349100000002, 18.992267850000001, 9.5999999999999996, 24.130070450000002, 20.399999999999999, 56.0, 302.60000000000002]
gpu % expected/get [ 0.1301322 0.14938983 0.10232637 0.06900054 0.08325648 0.01942684
0.04986583 0.2385625 ]
float64/float32 [ 1.09387269 1.11244427 0.98787114 1.00032445 0.85271204 0.78550062
0.77480833 0.82832434]
expected float64/float32 [ 0.46934054 0.47413961 0.43898283 0.53997725 0.39906636 0.33097574
0.3385468 0.42838942]
float64/gpu [ 1.01537102 1.09949545 0.94692272 0.98132787 0.85816284 0.78401903
0.77828783 0.85075978]
expected float64/gpu [ 0.43565836 0.46862063 0.42078647 0.52972286 0.40161731 0.33035146
0.34006715 0.4399925 ]
float32/gpu [ 0.92823509 0.98836003 0.95854882 0.98100959 1.00639231 0.99811382
1.00449079 1.02708534]
expected float32/gpu [ 0.49064437 0.58528147 0.25430373 0.47797246 0.24497276 0.18207898
0.20195661 0.34120902]
speed_failure_float64=8
speed_failure_float32=8
speed_failure_gpu=8
仮想マシン上のlinuxなので、CUDAが使えない…
投稿者
bluewidz
0
コメント
2012/10/14
男性2人の脳地図
成人の男性2人の脳の解剖と解析をしたとのこと。
doi:10.1038/nature11405
http://www.nature.com/nature/journal/v489/n7416/abs/nature11405_ja.html
データは
http://www.brain-map.org
で公開されている。
投稿者
bluewidz
0
コメント
2012/10/13
Linuxのターミナルが文字化けしたら
元に戻す方法が
http://wiliki.zukeran.org/index.cgi?Linux%a4%ce%a5%bf%a1%bc%a5%df%a5%ca%a5%eb%a4%ac%ca%b8%bb%fa%b2%bd%a4%b1%a4%b7%a4%bf%a4%c8%a4%ad%a4%ce%c2%d0%bd%e8
に載っている。これによると、
[Screenを使っているとき]
screenのコマンドキー(デフォルトならCtrl+a)を押してから
:encoding utf8
とか
:encoding euc
などと入力。
[Screenを使っていないとき]
echo "^V^O"
を入力すればよい。
ついでに、
[端末の画面が固まってしまったら]
おそらくCtrl+sを誤って押してしまっているので、
Ctrl+qで解除できる。
投稿者
bluewidz
0
コメント
2012/06/19
脳のカラムの作られ方
解説記事
Nature 486, 41-42 doi:10.1038/486041a
LETTER
(1)Nature 486, 113-117 doi:10.1038/nature10958
(2)Nature 486, 118-121 doi:10.1038/nature11110
脳のカラムの作られ方は、解説記事の図1そのままではあるが、
1. 胚発生時、分裂したニューロンが皮質の表面に向かって並んでいく。
こうして並んだニューロンが兄弟ニューロン。
2. 出生後の発達時、兄弟ニューロンはギャップ結合と呼ばれる穴でつながり
(樹状突起同士でつながる)、互いに電流が流れるようになる
3. その後、ギャップ結合は消失し、兄弟ニューロン間でシナプスが形成される。
4. 最終的に、兄弟ニューロンが類似の応答をするようになる。
ということである。
ギャップ結合をなくすことで3.が起きないことは(1)が示し、
4.が起きないことは(2)が示した。
ギャップ結合の阻害はレトロウィルスを使った変異を利用するか、
ギャップ結合遮断薬を用いることで実現している。
2.は阻害せず、3.を阻害すると4.はなくなるのだろうか?
気になる。
なお、上記の話は全てマウスに関するものである。
投稿者
bluewidz
0
コメント
2012/06/02
工業から情報産業へ
「情報の文明学」(ISBN4-12-203398-5) pp.244-245 に
こんなことが書いてあった。
<引用>
工業社会はまだ、情報産業を競争相手とはみていない。
生産の原理が、工業から情報産業にうつりつつあることを
認識したときに、工業はどういう態度をとるであろうか。
そこで「工業こそは国の礎」という反動イデオロギーが
発生する可能性がある。それはおそらく、農本主義に
ならって工本主義と名づけられるであろう。
</引用>
これが書かれたのは1988年3月である。
最近、いろいろなところで「ものづくり」や
「ものづくり大国日本」などという言葉をよく見聞きする。
たとえば、関東経済産業局のページ
http://www.kanto.meti.go.jp/seisaku/seizousangyou/monodukuri/index_mono.html
には冒頭に
<引用>
「ものづくり」は我が国の国際競争力の源泉であり、
</引用>
と書かれている。こういったものは先の引用文にあった
反動イデオロギーのように思えてならない。
「ものづくり」の連呼はいつ終わるのだろうか。
投稿者
bluewidz
0
コメント
2012/04/15
2011/12/25
天の川銀河の棒状構造の進化
http://www.nature.com/nature/journal/v477/n7364/full/477286a.html
http://www.nature.com/nature/journal/v477/n7364/full/nature10417.html
Chris W. Purcell et al., Nature 477, pp301-303,
The Sagittarius impact as an architect of spirality and outer rings in the Milky Way
いま現在、銀河中心に対してちょうど地球と反対側に位置している
Sagittarius Dwarf Elliptical Galaxy (Sgr)が銀河の円盤の進化に
影響を与えていることが数値計算によりわかったとのこと。
例えば、Sgrの質量が小さめの場合と大き目の場合で銀河中心に
ある棒状構造が強くなったり弱くなったりするという結果がでている。
数値計算には ChaNGa
http://www-hpcc.astro.washington.edu/tools/changa.html
を使っている。CUDAもサポートしていて、並列実行もできるそうな。
実験で使った粒子数は3000万とのこと。
さらに並列実行には
http://charm.cs.uiuc.edu/
を使っているそうな。
投稿者
bluewidz
0
コメント
頭皮に電流を流すと…
記憶や言語機能を上げたり下げたり、痛みを軽減したり
笑い出したり沈黙させたりできるらしい。
たった9Vの電池で。
どこに電極をあててどの向きに流すかで
効果が変わるらしい。
副作用があることもあり、電流を流すのをやめても
効果がすぐに切れるというわけではないようなので、
やらないほうが身のためですね。
Nature 472, 156-159 (2011-04-14); doi:10.1038/472156a
Nature digest Jul 2011, Vol. 8 No. 7, pp24-27
投稿者
bluewidz
0
コメント
2011/12/09
マウスの視覚皮質のニューロンの接続の形
解説記事
doi:10.1038/4641290b
論文
Nature 464,1307-1312,(29 April 2010), Jia et al.
doi:10.1038/nature08947
視覚皮質には目から入ってきた画像に含まれる線の傾きを
検出する部分があり、特定の傾き(方向)にのみ反応する
ニューロンがある。ニューロンへの入力信号と出力信号
には方向性があるが、反応する傾きの範囲は入力に比べて
出力の方がとても狭いことがこれまでに分かっている。
入力信号が発生する傾きの範囲が広いのは、反応する傾きは広いが
同じような傾きに反応する入力信号を選択しているからではなく、
反応する傾き自体は狭いが各シナプスが反応する向きが
幅広いからだと考えられている。
そうすると、どの樹状突起にどこから来た軸索がつながっている
のだろうか?
Jia et al.によると、枝分かれしている樹状突起のそれぞれの
枝につながっている軸索が類似の方向性をもっているのではなく
全体にさまざまな方向性のものがつながっているということが
わかったとのこと。
ただし、実験はマウスの一次視覚皮質のニューロンで行われており、
他のニューロンやほかの種のでは違うかもしれない。
観測のための道具は蛍光Ca2+インジケータと高速二光子顕微鏡と
細胞内電極で、膜電位の変化とCa2+信号を同時に記録している。
本文には撮影された画像が数多く掲載されている。
投稿者
bluewidz
0
コメント
2011/11/20
ラットの記憶の強化
http://www.nature.com/news/2011/110126/full/news.2011.49.html
日本語 doi:10.1038/ndigest.2011.110407
ラットの脳の海馬にインスリン様成長因子II(IGF-II)を
直接注入すると記憶が強化されたという。
仕組みはまだ明確ではなく、癌のリスク増大の
可能性があるが、記憶関連障害の治療に結びつく
可能性があるとのこと。
投稿者
bluewidz
0
コメント
2011/08/28
Coffee-ring effect
水道水とかコーヒーとかの水滴が蒸発すると丸い形の跡が残るあれ、
「Coffee-ring effect」というそうだ。
この効果を抑制する方法が
Peter J. Yunker et al. "Suppression of the coffee-ring effect by shape-dependent capillary interactions",
http://www.nature.com/nature/journal/v476/n7360/abs/nature10344.html
に掲載されている。解説記事はこちら。
http://www.nature.com/nature/journal/v476/n7360/full/476286a.html
この論文によると、球形粒子の場合はコーヒーリング効果が
発生するが、粒子が楕円体だとその効果が生じず均一に堆積する
とのこと。条件をうまく設定すると、球形粒子に少量の楕円体の
粒子を混ぜたものでも均一に堆積させることができるらしい。
水道水の水滴の跡が残らないようにできるなら身近なところで
嬉しいわけだが、丸い跡が残らなくても結局均一に堆積することから、
見た目は変わっても残念ながら跡そのものは残りそうだ。
投稿者
bluewidz
0
コメント
2011/08/21
続 CG-PC4KVMCA
この切り替え器、少なくともPC側のキーボード接続を
USBにしていると説明書に見当たらない
次の機能があることがわかった。
Ctrl+1 : 音量ダウン
Ctrl+2 : 音量アップ
Ctrl+3 : ミュートのON/OFF切り替え
便利なときもあるのだろうが、これとかぶる
ショートカットキーを使うアプリやゲームを
使うときにとても不便である。
この機能を無理矢理切るには
[デバイスマネージャー]→[ヒューマンインターフェイスデバイス]
とたどり、
[HID準拠コンシューマー制御デバイス]
を無効にすればよい。
投稿者
bluewidz
0
コメント
2011/08/06
CG-PC4KVMCA
4ポート切り替え器 corega CG-PC4KVMCA を購入してみた。
使えるキーボードとマウスがUSBでもPS/2でも大丈夫だと
いうことだったが、実際に使ってみるといくつか問題があった。
[PS/2マウス]
(1) PS/2マウス→[切り替え器]→PS/2接続
マウスカーソルの移動の読み取り精度が荒い。
右に1回移動:3ピクセル右へ移動
左に1回移動:4ピクセル左へ移動
下に1回移動:3ピクセル下へ移動
上に1回移動:4ピクセル上へ移動
(2) PS/2マウス→[切り替え器]→USB接続
こちらもマウスカーソルの移動の読み取り精度が荒い。
右に1回移動:2or3ピクセル右へ移動
左に1回移動:4ピクセル左へ移動
下に1回移動:2or3ピクセル下へ移動
上に1回移動:4ピクセル上へ移動
(3) PS/2マウス→[切り替え器]→PS/2→[別の変換器]→USB接続
これもだめ。2〜4ピクセル一度に移動する。
状況によって移動量が変化する。
(4) PS/2マウス→[別の変換器]→USB→[切り替え器]→USB接続
問題なし。1ピクセルずつ移動できる。
(5) PS/2マウス→[別の変換器]→USB→[切り替え器]→PS/2接続
大部分は1ピクセルずつ移動できる。例外は、
* 右に動かした後に左に動かす1回目のみ2ピクセル移動。
* 下に動かした後に上に動かす1回目のみ2ピクセル移動。
(「別の変換器」はArvelの型番AU02PSを使用)
[LogicoolのワイヤレスUSBマウス]
左右に動かない…。移動が上下だけになる。
したがって使い物にならない。
[PS/2キーボード]
(1) PS/2キーボード→[切り替え器]→PS/2接続
PS/2キーボード→[別の変換器]→USB→[切り替え器]→PS/2接続
キーを押し続けた時のリピート速度がとても遅い。
(2) PS/2キーボード→[切り替え器]→USB接続
PS/2キーボード→[別の変換器]→USB→[切り替え器]→USB接続
通常速度でリピートする。
まとめると、使える組み合わせは
USB接続のキーボード/マウス→[切り替え器]→USB接続
のみで、PS/2系統の接続はおまけだと思ったほうがよい。
投稿者
bluewidz
0
コメント
2011/07/16
Windows7のファイアウォール
Windows7のファイアウォールの設定がなぜかいつの間にか変更される。
確認できているのは、
ファイルとプリンターの共有
が含まれる名前の規則。
受信の規則、送信の規則ともに無効にしてもいつの間にか有効にされてしまう。
全体のルールで
規則に一致しない受信/送信接続はブロック
するようにしているので、規則が無効になっていれば
ブロックされるはずなのだが、いつの間にか有効にされるので
意味がない。
とりあえず回避するには、
各規則のプロパティ→全般→操作→「接続をブロックする」
を選択しておけばよさそうである。
少なくとも「ブロック」が勝手に「許可」になることは
ないようである。
投稿者
bluewidz
0
コメント
2011/04/13
フランスIRSNのシミュレーション結果
今回の原発事故に関するフランスIRSNによる情報が
http://www.irsn.fr/EN/news/Pages/201103_seism-in-japan.aspx
に書かれている。
「福島第一原発事故の放射能放出が及ぼす超遠距離に
おいての影響 - 2011年3月30日」のpdfファイル
によると、4月1日時点で北半球のほとんど全体に拡散
していることがわかる。外国に居ても日本に居ても
大気中のセシウム137の濃度(Bq/m^3)に大きな違いは
ないようである。
この資料には大気中核実験が行われていた1960年代の
フランスでの大気中セシウム137の濃度が示されていて、
図(4月1日)からは今の濃度はそのころの濃度の1/10〜10倍
程度であることが分かる。
チェルノブイリ事故後のフランスでの濃度に比べると
1/10000〜1/100くらい小さい。
この結果はあくまでシミュレーションによる結果であるので、
細かい値が正しいとはいえないが傾向を知るには十分である。
また、このくらいの濃度なら、日本国内はともかく、
諸外国が気にする必要はなさそうである。
少なくとも核実験を行っていた国が気にするような
レベルではない。
投稿者
bluewidz
0
コメント